Points clés
- Licence MIT — le framework Python principal est gratuit, sous licence permissive, et activement maintenu
- Briques essentielles : Documents/Nodes alimentent un Index (souvent un VectorStoreIndex), un Retriever récupère les nœuds pertinents, un Query Engine répond à la question
- Gratuit à installer et auto-héberger : pip install llama-index, avec votre propre fournisseur LLM et votre propre base vectorielle
- LlamaCloud est une plateforme distincte, payante, à l'usage, pour l'analyse automatisée de documents (LlamaParse) et l'extraction — non requise pour utiliser le framework open source
- Code-first : aucun canevas visuel — c'est une bibliothèque Python que vous importez et sur laquelle vous écrivez du code
- Le SDK TypeScript, LlamaIndex.TS, a été archivé et marqué obsolète le 30 avril 2026 — Python est l'implémentation activement maintenue
- Idéal pour : les développeurs construisant des systèmes RAG en production qui veulent un contrôle programmatique sur l'indexation et la logique de recherche
📍 En une phrase
LlamaIndex est un framework Python gratuit et open source (MIT) qui connecte les grands modèles de langage à vos propres données via indexation, recherche et moteurs de requête — conçu pour les développeurs qui écrivent du code, pas pour les constructeurs visuels no-code.
💬 En termes simples
Plutôt que de glisser des blocs sur un canevas, LlamaIndex vous donne des classes Python : charger vos documents, construire un index, puis l'interroger — chaque étape est du code que vous pouvez versionner, tester et personnaliser.
📌Remarque: Si vous voulez construire un pipeline RAG en connectant des blocs plutôt qu'en écrivant du Python, LlamaIndex n'est pas le bon outil — regardez plutôt un constructeur visuel comme Flowise, Langflow ou Dify.
Qu'est-ce que LlamaIndex ?
LlamaIndex (github.com/run-llama/llama_index) est un framework Python open source, sous licence MIT, pour construire des applications qui connectent les grands modèles de langage à vos propres données. C'est d'abord un framework de données : la bibliothèque est organisée autour de l'ingestion de documents, de leur structuration pour la recherche, et de la réponse aux questions posées à leur sujet — pas autour d'une orchestration d'agents généraliste.
- Connecteurs de données : SimpleDirectoryReader pour les fichiers locaux, plus 300+ intégrations communautaires et officielles sur LlamaHub pour les PDF, API, bases SQL et autres sources
- Index : structures qui organisent les données ingérées pour la recherche par un LLM — VectorStoreIndex (recherche sémantique par embeddings) est le plus courant
- Retrievers : récupèrent les nœuds pertinents pour une requête à partir d'un index
- Query Engines : combinent un retriever et un appel LLM pour répondre à une question sur vos données — le cœur de la boucle de génération augmentée par la recherche (RAG)
- Workflows : un système événementiel pour orchestrer des agents et pipelines multi-étapes au-delà d'une simple requête
- Le dépôt Python principal affiche plus de 50 000 étoiles GitHub
Quelles sont les briques essentielles de LlamaIndex ?
LlamaIndex organise un pipeline RAG en cinq briques : Document/Node, Index, Retriever, Query Engine et Workflow. Chacune correspond à une étape pour transformer des fichiers bruts en un LLM capable de répondre à des questions à leur sujet.
Documents et Nodes
Un Document encapsule une source brute — un PDF, une page web, une ligne de base de données. LlamaIndex découpe chaque Document en Nodes, des fragments plus petits dimensionnés pour tenir dans la fenêtre de contexte d'un modèle d'embedding, et y attache des métadonnées (fichier source, numéro de page) qui survivent jusqu'à la réponse finale sous forme de citation.
Index et retrievers
Un Index prend une liste de Nodes et les organise pour une recherche rapide. VectorStoreIndex embedde chaque Node et stocke les vecteurs dans une base vectorielle (en mémoire par défaut, ou chez un fournisseur comme Pinecone, Qdrant ou Chroma). Un Retriever construit à partir de cet index prend une requête, l'embedde de la même façon, et renvoie les k nœuds les plus similaires.
Query Engines
Un Query Engine encapsule un Retriever et un appel LLM en une seule méthode : il récupère les nœuds pertinents, construit un prompt qui les contient, et renvoie la réponse du modèle. Appeler index.as_query_engine().query("...") est le chemin le plus court entre un index et une réponse.
Document / Node
- Ce qu'il fait:
- Donnée brute, puis fragments structurés qui en sont issus
Index
- Ce qu'il fait:
- Organise les nœuds pour la recherche (ex. VectorStoreIndex)
Retriever
- Ce qu'il fait:
- Récupère les nœuds pertinents pour une requête
Query Engine
- Ce qu'il fait:
- Combine recherche + appel LLM pour répondre
Workflow
- Ce qu'il fait:
- Orchestration événementielle d'agents multi-étapes
En quoi LlamaIndex diffère-t-il de LangChain et des constructeurs visuels ?
LlamaIndex est d'abord un framework de données, LangChain un framework d'orchestration généraliste, et des outils comme Flowise, Langflow et Dify sont des constructeurs visuels no-code — les trois résolvent des problèmes différents, même s'ils se recoupent sur le RAG. Le choix entre eux dépend de ce que vous privilégiez, pas de savoir lequel est « meilleur ».
LlamaIndex vs. LangChain
LangChain est construit autour des chains, des agents et de l'appel d'outils pour un large éventail de types d'applications LLM ; la recherche n'est qu'une capacité parmi d'autres. LlamaIndex est construit spécifiquement autour de l'indexation et de la recherche — son modèle Document/Node/Index/Retriever/Query Engine est plus directif et demande généralement moins de code répétitif pour un pipeline RAG riche en données, au prix d'être moins généraliste pour une logique d'agent non liée à la recherche. Les deux sont Python-first, sous licence MIT et activement maintenus ; de nombreux systèmes en production combinent LlamaIndex pour la recherche avec une couche d'orchestration distincte pour le reste de l'application.
LlamaIndex vs. constructeurs visuels (Flowise, Langflow, Dify)
Les constructeurs visuels permettent d'assembler un pipeline RAG en connectant des nœuds préconstruits sur un canevas — sans Python. Cela sacrifie le contrôle fin : une logique de recherche personnalisée, des stratégies de découpage non standard, ou tout ce qui sort de la bibliothèque de nœuds préconstruits nécessite généralement un nœud « code personnalisé » ou d'abandonner le canevas. LlamaIndex n'a aucun canevas — chaque pipeline est du Python que vous écrivez, testez et versionnez dès le départ. Pour l'approche visuelle, consultez notre avis sur Flowise, ou évaluez directement Langflow et Dify.
LlamaIndex est-il gratuit, ou faut-il payer pour LlamaCloud ?
Le framework principal de LlamaIndex est gratuit à vie sous licence MIT — vous pouvez l'auto-héberger avec votre propre LLM et votre propre base vectorielle, sans coût pour LlamaIndex. LlamaCloud, une plateforme hébergée distincte pour l'analyse et l'extraction automatisée de documents (LlamaParse, LlamaExtract), facture des crédits à l'usage en plus : 1,25 $ pour 1 000 crédits, l'analyse coûtant 1 à 45 crédits par page et l'extraction 5 à 60 crédits par page selon le niveau choisi.
- Framework open source (pip install llama-index) : gratuit, sous licence MIT, auto-hébergé — aucun compte ni crédit requis
- LlamaCloud / LlamaParse : analyse de documents payante, facturée au crédit, pour les PDF à mise en page complexe, documents scannés, tableaux et graphiques
- Un compte LlamaCloud n'est pas nécessaire pour construire ou exécuter un pipeline RAG avec le framework open source — SimpleDirectoryReader et d'autres chargeurs gratuits couvrent le texte brut, le Markdown et les PDF standards
- LlamaCloud devient pertinent quand les documents sont assez complexes (mises en page multi-colonnes, tableaux intégrés, écriture manuscrite) pour qu'un analyseur gratuit produise des fragments de mauvaise qualité
Comment construire un pipeline RAG minimal avec LlamaIndex ?
Un pipeline RAG fonctionnel avec LlamaIndex tient en cinq lignes de Python : charger les documents, construire un index, créer un moteur de requête, et l'interroger. Cet exemple utilise la base vectorielle en mémoire par défaut et un LLM compatible OpenAI ; pour un fournisseur local (Ollama, par exemple), installez son paquet d'intégration et définissez Settings.llm avant de construire l'index.
- 1Installer le framework : pip install llama-index (ajoutez un paquet fournisseur comme llama-index-llms-ollama pour utiliser un modèle local au lieu d'une API hébergée).
- 2Définir vos identifiants de fournisseur LLM — par exemple export OPENAI_API_KEY=... — ou configurer Settings.llm vers un fournisseur local avant l'étape suivante.
- 3Placer vos fichiers source dans un dossier (par exemple data/) et les charger : documents = SimpleDirectoryReader("data").load_data().
- 4Construire un index à partir des documents chargés : index = VectorStoreIndex.from_documents(documents). Cela découpe chaque document en Nodes et les embedde.
- 5Créer un moteur de requête à partir de l'index : query_engine = index.as_query_engine().
- 6Interroger vos données et afficher la réponse : response = query_engine.query("Votre question ici"); print(response).
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
# Load documents from a folder
documents = SimpleDirectoryReader("data").load_data()
# Build an index from documents
index = VectorStoreIndex.from_documents(documents)
# Create a query engine
query_engine = index.as_query_engine()
# Query your data
response = query_engine.query("Your question here")
print(response)Cet index est-il reconstruit à chaque exécution du script ?
Oui, par défaut. Pour tout usage au-delà d'un script ponctuel, appelez index.storage_context.persist() après la construction de l'index, puis rechargez-le avec load_index_from_storage() lors des exécutions suivantes au lieu de ré-embedder chaque document à chaque fois.
Puis-je utiliser un LLM et une base vectorielle locaux au lieu d'OpenAI ?
Oui. Installez le paquet d'intégration correspondant (par exemple llama-index-llms-ollama pour un modèle local, ou un paquet de base vectorielle comme llama-index-vector-stores-chroma), puis définissez Settings.llm et Settings.embed_model, ou passez la base vectorielle à VectorStoreIndex.from_documents(), avant d'exécuter le même code de moteur de requête.
La version TypeScript de LlamaIndex est-elle encore maintenue ?
Non. LlamaIndex.TS (run-llama/LlamaIndexTS sur GitHub) a été archivé par ses mainteneurs et marqué obsolète le 30 avril 2026. La note du dépôt lui-même indique que le projet « is deprecated and no longer maintained » et redirige les utilisateurs vers la documentation LlamaCloud/LlamaParse plutôt que vers le SDK TypeScript.
- Le framework Python (llama_index) est l'implémentation activement maintenue — cet article couvre cette version
- Les projets TypeScript existants basés sur LlamaIndex.TS continueront de fonctionner, mais ne recevront plus de mises à jour, corrections de bugs ni correctifs de sécurité
- Pour un nouveau projet TypeScript ou JavaScript, évaluez LangChain.js (activement maintenu, sous licence MIT) plutôt que de démarrer sur une bibliothèque archivée
Pour qui LlamaIndex est-il fait ?
LlamaIndex occupe une position spécifique dans le paysage des outils RAG : les développeurs qui veulent un contrôle au niveau du code sur l'indexation et la recherche, pas le chemin le plus rapide vers un prototype visuel.
Utilisez LlamaIndex si
- Vous êtes à l'aise pour écrire et maintenir du Python et voulez que votre pipeline RAG soit sous contrôle de version dès le premier jour
- Vous construisez un système de recherche en production où la stratégie de découpage, la logique de recherche ou la structure d'index nécessitent un réglage personnalisé au-delà d'une bibliothèque de nœuds préconstruits
- Vous devez combiner plusieurs sources de données (PDF, bases de données, API) en une seule couche de recherche via l'écosystème de connecteurs de LlamaHub
- Vous voulez un framework qui traite la recherche comme préoccupation première plutôt que comme un type de nœud parmi d'autres outils d'agents généralistes
Évitez LlamaIndex si
- Vous n'êtes pas développeur, ou votre équipe veut prototyper un pipeline RAG sans écrire de code — utilisez plutôt un constructeur visuel comme Flowise, Langflow ou Dify
- Votre projet est un agent LLM généraliste avec appel d'outils et raisonnement multi-étapes comme besoin premier, pas la recherche documentaire — LangChain ou un framework d'agent dédié conviendra peut-être mieux
- Vous avez besoin d'un framework natif TypeScript pour un nouveau projet — LlamaIndex.TS est obsolète ; évaluez LangChain.js à la place
- Vous avez besoin que chaque étape de traitement documentaire reste entièrement auto-hébergée sans aucune facturation à l'usage dans toute la pile, y compris pour l'analyse de PDF complexes — la tarification par crédits de LlamaCloud peut ne pas convenir, bien que le framework principal lui-même reste gratuit
LlamaIndex vs. alternatives
Le bon choix dépend de si vous voulez un contrôle au niveau du code (LlamaIndex, LangChain, Haystack) ou un canevas visuel (Flowise et outils similaires).
Outil | Interface | Licence | Idéal pour | Maintenance |
|---|---|---|---|---|
| LlamaIndex | Code Python | MIT | Pipelines RAG riches en données, sur mesure | Active |
| LangChain | Code Python / JS | MIT | Orchestration LLM généraliste | Active |
| Haystack | Code Python | Apache 2.0 | Recherche d'entreprise + pipelines RAG | Active |
| Flowise | Visuel, glisser-déposer | Apache 2.0 | Prototypage no-code (non maintenu) | Archivé / aucune |
Erreurs fréquentes lors de l'évaluation de LlamaIndex
Ces erreurs viennent du fait de traiter LlamaIndex comme une catégorie d'outil différente de ce qu'il est réellement.
Erreur 1 : attendre une interface visuelle no-code
LlamaIndex n'a ni canevas, ni nœuds glisser-déposer, ni interface graphique pour construire un pipeline. Chaque pipeline est du code Python. Si c'est un constructeur visuel que vous voulez réellement, évaluez Flowise, Langflow ou Dify — comparer LlamaIndex à ces outils sur la « facilité d'utilisation pour les non-développeurs » mesure la mauvaise chose.
Erreur 2 : penser que LlamaCloud est nécessaire pour utiliser LlamaIndex
LlamaCloud est optionnel. Le framework open source s'installe avec pip, fonctionne avec votre propre LLM et votre propre base vectorielle, et gère le texte brut, le Markdown et les PDF standards sans aucun compte payant. LlamaCloud ne devient pertinent que pour l'analyse de documents complexes (pages scannées, tableaux denses) que les chargeurs gratuits gèrent mal.
Erreur 3 : démarrer un nouveau projet TypeScript sur LlamaIndex.TS
LlamaIndex.TS a été archivé et marqué obsolète le 30 avril 2026. Les nouveaux projets TypeScript ou JavaScript devraient évaluer LangChain.js ou construire un service de recherche Python derrière une API plutôt que de démarrer sur une bibliothèque non maintenue.
Questions fréquentes
LlamaIndex est-il gratuit ?
Oui. Le framework Python principal est open source et gratuit sous licence MIT. LlamaCloud, une plateforme hébergée distincte pour l'analyse et l'extraction de documents, facture des crédits à l'usage (1,25 $ pour 1 000 crédits), mais elle est optionnelle et non requise pour construire ou exécuter un pipeline RAG.
Sous quelle licence LlamaIndex est-il publié ?
Licence MIT, à la fois pour le framework Python (llama_index) et, tant qu'il était maintenu, pour le SDK TypeScript (LlamaIndex.TS). MIT autorise l'usage commercial, la modification et la redistribution.
En quoi LlamaIndex diffère-t-il de LangChain ?
LlamaIndex est un framework de données construit spécifiquement autour de l'indexation et de la recherche — Documents, Nodes, Index, Retrievers et Query Engines. LangChain est un framework d'orchestration généraliste couvrant chains, agents et appel d'outils, où la recherche n'est qu'une capacité parmi d'autres. Les deux sont sous licence MIT, Python-first, et activement maintenus ; de nombreux systèmes en production utilisent les deux ensemble.
LlamaIndex est-il un constructeur visuel no-code ?
Non. LlamaIndex est une bibliothèque Python (et anciennement TypeScript) que vous importez et sur laquelle vous écrivez du code — il n'y a pas de canevas glisser-déposer. Pour une approche visuelle et no-code du RAG ou des pipelines d'agents, évaluez plutôt Flowise, Langflow ou Dify.
Qu'est-ce que LlamaCloud, et en ai-je besoin ?
LlamaCloud est une plateforme distincte, payante et à l'usage, de la même entreprise, proposant LlamaParse (analyse de documents) et LlamaExtract (extraction structurée) pour les documents complexes. Elle n'est pas nécessaire pour utiliser le framework open source LlamaIndex — elle devient utile seulement quand les chargeurs de documents gratuits produisent de mauvais résultats sur des PDF complexes, des pages scannées ou des tableaux denses.
La version TypeScript de LlamaIndex est-elle encore maintenue ?
Non. LlamaIndex.TS a été archivé par ses mainteneurs et marqué obsolète le 30 avril 2026. Le framework Python reste l'implémentation activement maintenue. Pour un nouveau projet TypeScript/JavaScript, évaluez LangChain.js.
Qu'est-ce qu'un Query Engine dans LlamaIndex ?
Un Query Engine combine un Retriever et un appel LLM en un seul appel de méthode. Appeler index.as_query_engine().query("votre question") récupère les nœuds pertinents dans l'index, construit un prompt qui les contient, et renvoie la réponse du modèle — le cœur de la boucle de génération augmentée par la recherche (RAG).
Combien d'intégrations LlamaIndex prend-il en charge ?
LlamaHub héberge plus de 300 paquets d'intégration communautaires et officiels couvrant des chargeurs de données (PDF, API, bases SQL et plus), des fournisseurs LLM et des bases vectorielles, en plus du SimpleDirectoryReader intégré pour les fichiers locaux.
Puis-je utiliser un LLM local avec LlamaIndex au lieu d'une API cloud ?
Oui. Installez l'intégration fournisseur correspondante (par exemple llama-index-llms-ollama pour Ollama), puis définissez-la comme défaut via Settings.llm avant de construire votre index — le reste du pipeline Document/Index/Retriever/Query Engine fonctionne de la même façon quel que soit le fournisseur LLM utilisé.
Puis-je auto-héberger une application LlamaIndex comme serveur API local ?
Oui. Le guide Full-Stack Web Application de LlamaIndex explique comment empaqueter un pipeline RAG derrière un backend de type Flask/FastAPI et l'exécuter dans un conteneur Docker — sans compte LlamaCloud ni service hébergé.
Dois-je écrire du Python pour utiliser LlamaIndex ?
Oui, pour la version actuellement maintenue. LlamaIndex est un framework code-first sans interface visuelle. Les non-développeurs ou les équipes souhaitant une approche no-code devraient plutôt évaluer un constructeur visuel comme Flowise, Langflow ou Dify.
