Milvus: La chiave per lo sviluppo RAG - Migliora l'efficienza, riduci i costi e potenzia le prestazioni
Introduzione
Nel mio blog precedente, abbiamo esaminato come la Retrieval Augmented Generation (RAG) affronti le sfide che i modelli linguistici di grandi dimensioni (LLMs) devono affrontare, come le allucinazioni e la necessità di informazioni specifiche di dominio. Abbiamo anche sottolineato il suo ruolo nel garantire la privacy dei dati e nel consentire il recupero di informazioni in tempo reale.
Al centro di un framework RAG di base si trovano due elementi cruciali: il Retriever e il Generator. Il Retriever, alimentato da un database vettoriale, fornisce informazioni contestuali per le query degli utenti, mentre il Generator, spesso guidato da LLM come ChatGPT, elabora le risposte finali sulla base di questo contesto. Comprendere questi aspetti tecnici ti farà sentire più informato sulle complessità della RAG.
Man mano che gli sviluppatori spingono oltre i limiti delle applicazioni RAG e le trasferiscono in ambienti di produzione, hanno bisogno di risposte più rapide, di qualità superiore e più precise. Ciò sottolinea l’importanza critica di database vettoriali robusti nel consentire una migliore efficienza e qualità del recupero.
L’ultima versione di Milvus rappresenta un notevole progresso nella tecnologia dei database vettoriali, in particolare nel migliorare le prestazioni della RAG. Questo post approfondirà le ultime funzionalità di Milvus, metterà in evidenza le sue capacità e illustrerà perché è la scelta principale per sviluppare applicazioni RAG di successo.
Semplificazione dello sviluppo e della validazione della RAG tramite l’integrazione con modelli di embedding e reranking popolari
Sebbene una configurazione RAG di base sia sufficiente per la prototipazione o per piccoli progetti, non basta per applicazioni pronte per la produzione. Man mano che gli sviluppatori avanzano verso app RAG più complesse, incorporano componenti tecnici aggiuntivi nella pipeline, aumentando la complessità dello sviluppo. Inoltre, la rapida evoluzione e le variazioni dei parametri nelle tecnologie correlate alla RAG aggiungono ulteriori ostacoli alla creazione, alla messa a punto e alla validazione delle app. Per affrontare queste sfide, molti sviluppatori RAG si rivolgono a framework o librerie come LangChain, LlamaIndex, e DSPy, che offrono funzionalità estese per uno sviluppo e una validazione semplificati.
Milvus è un database vettoriale specializzato per l’archiviazione e il recupero efficienti dei dati. Nella sua ultima versione, Milvus integra perfettamente i principali modelli di embedding e reranking, consentendo agli utenti di trasformare facilmente il testo in vettori ricercabili e di riordinare i risultati recuperati per ottenere risposte più accurate senza aggiungere ulteriori componenti di embedding e reranking alla pipeline RAG. Di conseguenza, questa integrazione semplifica l’intero processo di sviluppo e validazione della RAG.
Milvus attualmente supporta una gamma di embedding popolari, tra cui OpenAI Embedding API, sentence transformers, BGE-M3, BM25, SPLADE, e Voyage AI.
| Modelli di embedding integrati | Tipo di vettore | API o open-source |
| OpenAI Embedding API | Denso | API |
| sentence transformers | Denso | Open-source |
| BM25 | Sparso | Open-source |
| SPLADE | Sparso | Open-source |
| BGE-M3 | Ibrido | Open-source |
| Voyage AI | Denso | API |
Milvus attualmente supporta i seguenti modelli di reranking: BGE, Cross-encoder, Voyage AI e Cohere.
| Modelli di reranking integrati | API o open-source |
| BGE rerankers | Open-source |
| Cross encoders | Open-source |
| Voyage AI rerankers | API |
| Cohere rerankers | API |
Supporteremo altri modelli nei prossimi mesi. Restate sintonizzati. La documentazione di Milvus fornisce indicazioni dettagliate su come sfruttare questi modelli di embedding pre-addestrati.
Migliorare la qualità del recupero e il recupero di dati multimodali con la ricerca ibrida
Le applicazioni RAG del mondo reale vengono utilizzate in diversi casi d'uso che trattano testo e dati multimodali come immagini, video e audio. Gestire informazioni ricche richiede un database vettoriale in grado di archiviare e recuperare efficientemente embedding tra vari tipi di dati per soddisfare query multimodali.
Milvus si fa avanti offrendo supporto multi-vettore e un framework di ricerca ibrida. Gli utenti possono consolidare più campi vettoriali, fino a 10, all'interno di una singola raccolta. I vettori in questi campi possono rappresentare diversi aspetti o modalità dei dati relativi alla stessa entità, arricchendo significativamente il pool di informazioni.
Fig1: Come Milvus conduce una ricerca ibrida
Questa capacità di ricerca ibrida e le strategie di reranking miste offrono una maggiore flessibilità nel recupero di informazioni multimodali e multidimensionali. Si rivela preziosa in casi d'uso come l'identificazione dell'individuo più simile in una libreria vettoriale in base ad attributi come immagini, voce e impronte digitali.
Inoltre, Milvus estende la sua ricerca ibrida per supportare vettori sparsi ampiamente utilizzati per conoscenza fuori dominio e recupero di parole chiave. Questa estensione consente il recupero misto di parole chiave ed embedding vettoriali, portando a risultati di recupero più precisi e, in ultima analisi, migliorando l'accuratezza della generazione della risposta finale nella tua applicazione RAG.
Migliorare la velocità e l'accuratezza del recupero con la ricerca aggiornata filtrata per scalari
Nelle applicazioni pratiche, non tutti i dati sono adatti alla ricerca vettoriale. Prendiamo, ad esempio, un chatbot focalizzato sull'inventario dell'abbigliamento. Accanto ai vettori, i dati contengono numerosi attributi come colore e taglia. Filtrare tali dati scalari prima o dopo la ricerca vettoriale si dimostra più efficiente e rapido che convertirli in vettori.
Milvus supporta la ricerca filtrata per scalari, rafforzando precisione e velocità del recupero. I recenti aggiornamenti a questa funzionalità includono:
Funzione di ricerca con raggruppamento: Questa funzione utilizza l'aggregazione di colonne scalari per fornire dati aggregati raffinati e di alto livello. Ottimizza le ricerche, specialmente in casi d'uso come la ricerca di un numero specifico di documenti relativi a una query.
Corrispondenza fuzzy per colonne scalari: Le query fuzzy per colonne scalari ora includono la corrispondenza infissa e suffissa, elevando la qualità della ricerca oltre la corrispondenza prefissa precedentemente supportata.
Indice invertito per velocità di ricerca accelerate: L’introduzione dell’indice invertito può aumentare le prestazioni di oltre dieci volte nei casi d’uso di ricerca inversa.
Fig2: L’indice invertito migliora le velocità di ricerca di 10 volte
Questi miglioramenti consentono ai sistemi RAG di adattare i propri approcci a requisiti aziendali specifici. Ad esempio, gli utenti possono cercare in modo efficiente documenti legali in base alle date dei casi o filtrare notizie pertinenti per posizione geografica. Questo approccio di ricerca multidimensionale migliora la precisione e l’efficienza della tua applicazione RAG nella gestione di query mirate.
Offrire soluzioni RAG convenienti
Costruire e mantenere una grande base di conoscenza per la tua app RAG può essere finanziariamente costoso, soprattutto perché i dataset continuano a espandersi. Pertanto, sono necessarie soluzioni convenienti che facilitino la gestione di enormi quantità di dati.
Milvus offre una soluzione conveniente come database vettoriale open-source sotto licenza Apache-2.0, priva di costi di licenza. La sua suite di funzionalità ad alte prestazioni è prontamente disponibile senza costi aggiuntivi.
Inoltre, Milvus integra Mmap per ridurre al minimo il consumo di memoria, ottimizzando l’allocazione delle risorse. Milvus si spinge oltre introducendo funzionalità di archiviazione dati a livelli freddi e caldi, pensate per accomodare dati con frequenze di accesso e requisiti di latenza variabili. Milvus riduce i costi di archiviazione posizionando strategicamente i dati su diversi supporti di storage come RAM, NVMe, EBS e S3 e sfruttando le capacità di cloud storage. Tecniche intelligenti di caching e data-sharding contribuiscono ulteriormente all’efficienza delle risorse durante le query, consentendo alle applicazioni RAG basate su Milvus di operare a costi inferiori senza compromettere le prestazioni.
Fig3: Come funziona l’approccio di archiviazione dati a livelli freddi e caldi
Questo approccio riduce al minimo l’investimento iniziale e garantisce un’efficienza operativa continua, rendendo Milvus una scelta ideale per implementazioni RAG attente ai costi.
Riepilogo
Dalla sua integrazione con modelli di embedding popolari alle sue capacità di recupero di dati multimodali e di ricerca aggiornata filtrata per scalari, il database vettoriale Milvus aiuta gli sviluppatori a creare applicazioni RAG più rapide, più accurate e più versatili che mai.
Inoltre, Milvus offre una soluzione conveniente per costruire e mantenere grandi basi di conoscenza grazie alla sua anima open-source, alle funzionalità ad alte prestazioni e alle strategie di archiviazione ottimizzate. Riducendo al minimo il consumo di memoria, implementando l’archiviazione dati a livelli e sfruttando tecniche intelligenti di caching e data-sharding, Milvus consente alle applicazioni RAG di operare in modo efficiente a costi inferiori senza sacrificare le prestazioni.
In conclusione, Milvus trasforma lo sviluppo RAG fornendo agli sviluppatori gli strumenti per creare applicazioni più rapide, più accurate e convenienti. Con Milvus, le possibilità di innovazione RAG sono infinite e il futuro del recupero delle informazioni è più luminoso che mai.
Continua a leggere

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

8 Latest RAG Advancements Every Developer Should Know
Explore eight advanced RAG variants that can solve real problems you might be facing: slow retrieval, poor context understanding, multimodal data handling, and resource optimization.

Zilliz Cloud BYOC Upgrades: Bring Enterprise-Grade Security, Networking Isolation, and More
Discover how Zilliz Cloud BYOC brings enterprise-grade security, networking isolation, and infrastructure automation to vector database deployments in AWS



