LlamaIndex "legal-kb" : recherche à base d'agents sur Index v2 avec les outils retrieve, find, read et grep
LlamaIndex a publié legal-kb, une application de référence disponible sur GitHub, conçue comme une base de connaissances pour documents juridiques. Le projet s'appuie sur Index v2, la plateforme LlamaParse, et se présente comme une application web fonctionnelle construite avec TanStack Start. Un utilisateur se connecte, crée un projet, télécharge des fichiers, puis discute avec un agent qui interroge en direct un index LlamaCloud associé au projet. Chaque document envoyé est automatiquement analysé et indexé en arrière plan. L'agent, implémenté dans le fichier src/lib/agent.ts, dispose de quatre outils calqués sur des opérations de système de fichiers familières aux développeurs: retrieve pour la recherche hybride sémantique et par mots clés avec reclassement optionnel, findFiles pour rechercher des fichiers par nom exact ou partiel, readFile pour lire le contenu brut avec des fenêtres de décalage et de longueur, et grepFile pour repérer un motif précis dans un fichier avec sa position exacte. Le prompt système impose un ordre strict: l'agent doit d'abord appeler findFiles pour établir l'inventaire des documents, puis affiner sa recherche avec retrieve, avant de confirmer le texte exact via readFile ou grepFile avant toute citation.
Cette approche, que l'équipe appelle un Retrieval Harness, ou harnais de récupération, change la logique habituelle des systèmes de recherche documentaire assistés par IA. Plutôt qu'une simple recherche par embedding en une seule passe, l'agent explore activement une base de connaissances volumineuse et évolutive pour résoudre une tâche, un peu comme un utilisateur qui naviguerait dans un système de fichiers. Pour un domaine aussi sensible que le juridique, où l'exactitude des citations et la traçabilité des sources sont essentielles, cette méthode réduit le risque d'hallucination en forçant l'agent à vérifier le texte exact avant de répondre. Le versionnage des documents, géré par paire projet et nom de fichier, permet en outre de conserver plusieurs versions d'un même contrat ou accord de confidentialité côte à côte, avec un filtrage par métadonnées lors de la récupération.
Sur le plan technique, les fichiers téléchargés sont envoyés vers le répertoire source LlamaCloud du projet, puis une ligne File et ProjectFile est écrite dans PostgreSQL via Prisma, pendant que l'interface interroge le statut de synchronisation de l'index. L'agent repose sur ToolLoopAgent du Vercel AI SDK 6, avec un choix possible entre modèles OpenAI ou Anthropic à chaque échange, chacun utilisant ses propres clés API. Les modèles Claude activent le raisonnement étendu, tandis que les modèles de raisonnement d'OpenAI utilisent un effort de raisonnement moyen. En publiant ce code comme référence ouverte, LlamaIndex illustre une tendance plus large du secteur: doter les agents d'outils génériques et composables, réutilisables au-delà du cas d'usage juridique initial, plutôt que de construire des pipelines de récupération rigides et spécifiques à chaque application.
Vu une erreur factuelle dans cet article ? Signalez-la. Toutes les corrections valides sont publiées sur /corrections.




