Riepilogo del webinar: potenzia il tuo LLM con dati privati usando LlamaIndex
La popolarità di ChatGPT ha dimostrato le capacità dei modelli linguistici di grandi dimensioni (LLM) nella generazione di conoscenza e nel ragionamento. Tuttavia, ChatGPT è pre-addestrato su dati disponibili pubblicamente, che potrebbero non fornire risposte e risultati specifici pertinenti alla tua attività. Quindi, come possiamo arricchire al meglio i nostri LLM con dati privati? LlamaIndex è una delle soluzioni più popolari. È un'interfaccia semplice, flessibile e centralizzata che collega i tuoi dati esterni e gli LLM.
Nel nostro recente webinar, Jerry Liu, co-fondatore e CEO di LlamaIndex, ha spiegato come LlamaIndex possa potenziare i tuoi LLM con dati privati. Inoltre, Frank Liu, Machine Learning Architect e Director of Operations presso Zilliz, ha condiviso anche le sue opinioni sugli LLM. Unisciti a me nell'esplorare i punti chiave di questo webinar e nell'affrontare alcune delle domande senza risposta del pubblico.
Fine-tuning e apprendimento in-context
"Come migliorare gli LLM con dati privati" è una domanda che molti sviluppatori di LLM si porrebbero. Nel webinar, Jerry ha discusso due metodi: fine-tuning e apprendimento in-context. Il fine-tuning richiede il riaddestramento della rete con dati privati, ma può essere costoso e mancare di trasparenza. Inoltre, potrebbe essere efficace solo in alcuni casi. D'altra parte, l'apprendimento in-context prevede l'abbinamento di un modello pre-addestrato con conoscenza esterna e un modello di recupero per aggiungere contesto al prompt di input. Tuttavia, sorgono sfide nel combinare recupero e generazione, nel recuperare il contesto appropriato e nel gestire dati sorgente estesi. LlamaIndex è un toolkit progettato per affrontare le sfide dell'apprendimento in-context.
Che cos'è LlamaIndex?
LlamaIndex è uno strumento open-source che fornisce l'interfaccia centrale di gestione dei dati e di query per le tue applicazioni LLM. Il suo toolkit contiene tre componenti principali:
- Connettori dati per l'acquisizione di dati da varie fonti.
- Indici dati per strutturare i dati per diversi casi d'uso.
- Un'interfaccia di query per inserire prompt e ricevere l'output arricchito dalla conoscenza.
Tre componenti principali di LlamaIndex
LlamaIndex è anche uno strumento prezioso per lo sviluppo di applicazioni LLM. Funziona come una scatola nera, prendendo descrizioni dettagliate delle query e fornendo risposte ricche che includono riferimenti e azioni. LlamaIndex gestisce anche le interazioni tra il modello linguistico e i dati privati per fornire risultati accurati e desiderati.
LlamaIndex nel contesto
Come funziona l'indice vector store di LlamaIndex
LlamaIndex ha vari indici, tra cui l'indice a lista, l'indice vector store, l'indice ad albero e l'indice per parole chiave. Jerry ha usato l'indice vector store nel webinar per mostrarti come funzionano gli indici di LlamaIndex.
L'indice vector store è una modalità popolare di recupero e sintesi che abbina un vector store a un modello linguistico. Un insieme di documenti sorgente viene acquisito, suddiviso in nodi di testo e archiviato nel vector store con un embedding associato a ciascun nodo. Quando effettui una query, un embedding della query cerca nel vector store i nodi top-k più simili; questi nodi vengono poi utilizzati nel modulo di sintesi della risposta per generare una risposta.
Acquisizione dei dati in LlamaIndex
Query tramite l'indice vector store
Usare un indice di vector store è l'approccio migliore per introdurre la similarità nella tua applicazione LLM. Questo tipo di indice è ideale per workflow che confrontano testi per similarità semantica. Ad esempio, un indice di vector store sarebbe adatto per porre domande su un particolare software open-source.
L'integrazione di Milvus e LlamaIndex
LlamaIndex fornisce numerose integrazioni che sono al tempo stesso potenti e leggere. Nel webinar, Jerry ha evidenziato l'integrazione di Milvus e LlamaIndex.
Milvus è un database vettoriale open-source e capace di gestire vasti dataset che contengono milioni, miliardi o persino trilioni di vettori. Con l'integrazione, Milvus agisce come vector store di backend per embedding e testo. Configurare l'integrazione è semplice: inserire diversi parametri, racchiuderli in un contesto di archiviazione e poi inserirli nell'indice di vector store. L'interrogazione dell'indice avviene tramite il motore di query e otterrai le risposte di cui hai bisogno.
Zilliz Cloud è un servizio completamente gestito e cloud-native per Milvus, ed è disponibile anche l'integrazione di LlamaIndex e Zilliz Cloud.
Casi d'uso di LlamaIndex
Nel webinar, Jerry ha anche condiviso molti casi d'uso popolari di LlamaIndex, tra cui:
- Ricerca semantica
- Riassunto
- Da testo a SQL (dati strutturati)
- Sintesi su dati eterogenei
- Query di confronto/contrasto
- Query multi-step
- Sfruttamento delle relazioni temporali
- Filtraggio per recenza / nodi obsoleti
Per descrizioni e informazioni dettagliate, guarda la registrazione completa del webinar.
Domande e risposte
Abbiamo ricevuto molte domande dal nostro pubblico durante il webinar e abbiamo apprezzato il loro coinvolgimento. Jerry ha risposto ad alcune delle domande durante la sessione di domande e risposte, ma a causa dei limiti di tempo, alcune sono rimaste senza risposta. Di seguito, abbiamo compilato un elenco delle domande più frequenti e delle domande senza risposta, insieme alle risposte di Jerry.
D: Cosa ne pensi dei plugin di OpenAI e come funzionerebbe LlamaIndex con essi?
Questa è una buona domanda. Ci vediamo su entrambi i lati del panorama dei plugin. Da un lato, ci vediamo come un plugin davvero valido che può essere chiamato da qualsiasi astrazione di agente esterno (che sia ChatGPT, LangChain o altro). Un agente client ci passerebbe una richiesta di input e noi capiremo come eseguire al meglio quella richiesta dietro le quinte. Ad esempio, siamo un plugin nel repo chatgpt-retrieval-plugin. Sul lato client, supportiamo l'integrazione con qualsiasi servizio che implementi il chatgpt-retrieval-plugin - un'astrazione di "vector store".
D: Hai menzionato compromessi in termini di prestazioni e latenza. Quali sono alcuni colli di bottiglia e sfide in quell'area che incontri?
Maggiori quantità di contesto + dimensione dei chunk più grande = latenza più elevata. C’è dibattito sul fatto che dimensioni dei chunk più grandi portino sempre a risultati migliori (GPT-4 empiricamente è migliore nel gestire quantità di contesto più estese rispetto a GPT-3). Tuttavia, in generale, qui c’è una correlazione positiva. Un altro compromesso è che qualsiasi sistema LLM “avanzato”, ad esempio che coinvolga agenti, richiede chiamate LLM concatenate. Le chiamate LLM concatenate richiedono intrinsecamente più tempo per essere eseguite.
D: Capisco che stiamo usando un modello esterno per eseguire le query. Quanto sono sicuri i dati privati che vengono trasmessi?
Dipende dal servizio API. Ad esempio, OpenAI non utilizza i dati API per addestrare/migliorare i suoi modelli, ma ci saranno comunque preoccupazioni aziendali sull’invio di dati sensibili a una terza parte. Di recente abbiamo aggiunto alcuni moduli PII per contribuire ad alleviare questo problema. Un’altra alternativa è utilizzare modelli locali.
Q: Quali sono i pro e i contro dei due approcci: (a) sfruttare un database vettoriale come Milvus per la ricerca avanzata di similarità e le ottimizzazioni dei grafi PRIMA di caricare e indicizzare su LlamaIndex e interfacciarsi con un LLM; (b) utilizzare le integrazioni native di LlamaIndex con i vector store?
Puoi fare entrambe le cose. Abbiamo in programma di consolidare un po’ di più questi due aspetti, quindi restate sintonizzati. A un livello molto generale, usare Milvus prima come data loader ti consente di utilizzare i dati esistenti con LlamaIndex. Al contrario, se utilizzi il nostro indice vettoriale supportato da Milvus, definiremo strutture aggiuntive sopra questi dati. Il vantaggio del primo è che puoi utilizzare dati esistenti, e il vantaggio del secondo è che abbiamo maggiore controllo nella definizione dei metadati.
Q: Devo analizzare localmente circa 6.000 PDF e PowerPoint. Cosa mi consiglieresti per ottenere i migliori risultati senza usare OpenAI, LlamaIndex, con llama65b?
Puoi provare a usare Llama se per te la licenza va bene. Dai un’occhiata ai modelli open-source su GitHub.
Guarda la registrazione completa del webinar!
Guarda la registrazione del webinar per maggiori informazioni su LlamaIndex e sulle discussioni tra Jerry Liu e Frank Liu.
Continua a leggere

Notion's Vector Search Is Excellent. Their Next Problem Is Harder.
Notion solved vector search scaling in two years. The next bottleneck — offline context engineering, unified data, and the real-time/offline gap — is harder.

Top 10 Context Engineering Techniques You Should Know for Production RAG
A practical guide to context engineering for production LLM systems, covering RAG, context processing, memory, agents, and multimodal context.

Zilliz Cloud Update: Smarter Autoscaling for Cost Savings, Stronger Compliance with Audit Logs, and More
What's new in Zilliz Cloud? Smarter autoscaling with scale-down, audit logs GA, enhanced SSO, and Milvus 2.6 in Private Preview.



