LlamaIndex è un framework Python (e JS) specializzato per applicazioni RAG: prendere documenti tuoi, indicizzarli, e far rispondere un LLM su quei documenti. È il più focused su questo caso d'uso.
Differenza con LangChain:
- LangChain: generalista, fa di tutto.
- LlamaIndex: focused su data → LLM (RAG, indici, query engine).
Componenti:
- Data loaders: PDF, Word, web, database, API. Tantissimi.
- Indexes: vector index, list index, tree index, knowledge graph.
- Query engines: come interrogare gli indici.
- Agents: agenti che usano i dati come tool.
Workflow tipico:
- Carico documenti.
- Divido in chunks.
- Calcolo embedding di ogni chunk.
- Salvo in vector database.
- Su query: cerco i 5 chunks più rilevanti, li passo all'LLM, ottengo risposta basata su quelli.
Vantaggi:
- API più semplice di LangChain per casi RAG.
- Documentazione e tutorial focused.
- Performance ottimizzata per il caso d'uso.
Svantaggi:
- Meno flessibile per task non-RAG.
- Meno community di LangChain.
Quando scegliere uno o l'altro:
- Devi fare prevalentemente RAG su documenti aziendali → LlamaIndex.
- Costruisci sistema agentico complesso con molti tool → LangChain.
- Workflow misti → entrambi (sono compatibili).
Per chi inizia con RAG, LlamaIndex è probabilmente la scelta migliore di partenza.