LlamaIndex: il data framework open source per RAG

LlamaIndex fornisce document reader, index e query engine per applicazioni RAG. Con la versione 0.10 del febbraio 2024, separa llama-index-core dalle integrazioni di terze parti.

Open SourceAI Open SourceLlamaIndexRAGAgenticLLMAI

Da GPT Index a LlamaIndex

Il progetto nasce nel novembre 2022 come GPT Index, sviluppato da Jerry Liu per affrontare un problema specifico: fornire ai modelli linguistici accesso a volumi di dati superiori alla dimensione della finestra di contesto. Nei mesi successivi il progetto viene ribattezzato LlamaIndex e si posiziona come data framework per applicazioni LLM, con focus primario sul pattern retrieval-augmented generation.

Il framework è scritto in Python (con una versione TypeScript affiancata) e rilasciato sotto licenza MIT. Attorno al progetto nasce LlamaIndex.ai come azienda di riferimento, che sviluppa anche componenti e servizi commerciali complementari al framework open source.

Astrazioni fondamentali

LlamaIndex organizza il ciclo di vita dei dati per un’applicazione RAG attorno a un insieme di componenti specializzati. I document reader caricano dati da sorgenti eterogenee — file, API, database, servizi cloud — attraverso LlamaHub, un hub che raccoglie più di cento connettori ufficiali e della community. I documenti vengono trasformati in node, unità atomiche di informazione associate a metadati.

Gli index organizzano i node per il recupero: l’indice vettoriale è il più diffuso, ma il framework supporta anche indici per parole chiave, indici ad albero gerarchici e indici basati su knowledge graph. I query engine combinano il recupero con la generazione, applicando strategie come sub-question decomposition, riformulazione delle query e re-ranking dei risultati. Gli agent workflow estendono il modello a scenari in cui più passi di retrieval e ragionamento sono orchestrati su fonti multiple.

La versione 0.10 e il refactor

Il 14 febbraio 2024 viene rilasciata LlamaIndex 0.10, considerata la base per una futura versione 1.0. Il rilascio introduce un refactor significativo: il codice è riorganizzato in llama-index-core, che contiene le astrazioni e i componenti fondamentali, e in una costellazione di pacchetti di integrazione distribuiti come llama-index-*. Le integrazioni con vector store, LLM provider, reader e altri componenti di terze parti sono così installabili e versionabili in modo indipendente.

Il cambiamento risponde alla stessa esigenza che ha motivato la separazione in pacchetti di altri framework: ridurre la superficie di installazione, permettere rilasci granulari e separare la stabilità del core dalla velocità di evoluzione delle integrazioni.

Adozione

LlamaIndex è oggi uno dei riferimenti consolidati per la costruzione di applicazioni RAG in produzione, in particolare quando il requisito principale è la gestione di dataset documentali eterogenei. Il framework è spesso utilizzato in combinazione con altri strumenti dell’ecosistema LLM, nel ruolo specifico di livello di accesso ai dati.

Link: llamaindex.ai

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi