LlamaIndex
iaDéfinition
LlamaIndex (anciennement GPT Index) est un framework open-source Python/TypeScript spécialisé dans la construction de pipelines d'indexation et de retrieval pour connecter des LLMs à des données externes. Fondé par Jerry Liu en 2022, il s'est positionné comme l'alternative à LangChain pour les use-cases centrés sur la gestion de données et le RAG avancé, avec une approche plus structurée et orientée données. LlamaIndex fournit un écosystème complet pour le RAG : des Document Loaders (100+ connecteurs : PDF, Notion, Confluence, GitHub, bases de données, APIs), des Node Parsers (découpage intelligent de documents en nodes/chunks), des Index variés (VectorStoreIndex, KnowledgeGraphIndex, SummaryIndex), des Retrievers modulaires (dense, sparse, hybrid), et des Response Synthesizers pour la génération finale. L'abstraction centrale de LlamaIndex est le Node : une unité d'information avec métadonnées, relations et embeddings. Les nodes peuvent être organisés en graphes de connaissance, en hiérarchies (avec des nodes "summary" de plus haut niveau pointant vers les chunks détaillés), ou en structures plates pour le retrieval vectoriel standard. LlamaIndex excelle dans les pipelines RAG complexes : RAG hiérarchique (summary nodes + detail nodes), agentic RAG (agents qui décident quelle source consulter), RAG sur code (parsing intelligent de repositories GitHub), et knowledge graph RAG (GraphRAG via Neo4j ou NeptunDB). Pour les entreprises, LlamaIndex propose LlamaCloud (plateforme managée d'indexation) et LlamaHub (registre de composants communautaires). L'écosystème LlamaParse est particulièrement apprécié pour le parsing avancé de PDFs complexes (tableaux, formules, images) via une API cloud dédiée.
Pipeline RAG LlamaIndex
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.core import Settings
# Configuration globale
Settings.llm = OpenAI(model="gpt-4o-mini")
Settings.embed_model = OpenAIEmbedding(model="text-embedding-3-small")
Settings.chunk_size = 1024
Settings.chunk_overlap = 200
# Ingestion et indexation
documents = SimpleDirectoryReader("./docs").load_data()
index = VectorStoreIndex.from_documents(documents)
# Query Engine
query_engine = index.as_query_engine(
similarity_top_k=4,
response_mode="compact" # tree_summarize, refine, simple_summarize
)
response = query_engine.query("Quelles sont les obligations NIS 2 pour les PME ?")
print(response.source_nodes) # Sources avec scores de similarité
RAG Hiérarchique
from llama_index.core.node_parser import HierarchicalNodeParser
from llama_index.core.retrievers import AutoMergingRetriever
parser = HierarchicalNodeParser.from_defaults(
chunk_sizes=[2048, 512, 128] # Nodes gros, moyen, petit
)
# Le retriever cherche les petits chunks, mais si 50%+ d'un parent est récupéré,
# retourne le parent complet → meilleure cohérence contextuelle
Comparatif LangChain vs LlamaIndex
- LlamaIndex : supérieur pour RAG complexe, indexation multi-sources, knowledge graphs
- LangChain : supérieur pour agents multi-tools, workflows conditionnels, intégrations externes
- Les deux frameworks peuvent être combinés : LlamaIndex comme retriever dans une chain LangChain
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h