Moteur de recherche juridique RAG multi-corpus
résultats
articles de conventions collectives indexés
conventions collectives couvertes (100 %)
outils MCP exposés aux agents IA
problème
Un acteur du conseil en droit social devait fournir à ses juristes et à ses clients des réponses fiables, sourcées et à jour. Deux difficultés se cumulaient : indexer l'intégralité des conventions collectives nationales — une source publique massive et hiérarchique (convention → texte → section → article → version), en évolution continue via l'API officielle Légifrance ; et interroger dans le même mouvement le patrimoine documentaire interne du cabinet — des dizaines de milliers de documents propriétaires — sans jamais confondre droit public consolidé et production éditoriale privée, ni dégrader la traçabilité des citations.
approche
- Pipeline d’ingestion depuis l’API officielle Légifrance : OAuth2, files de traitement parallèles (containers → textes → sections → articles), parsing HTML, empreinte de contenu pour le versioning, full sync hebdomadaire + delta sync quotidien.
- Recherche hybride en production : branche lexicale PostgreSQL (tsvector) et branche sémantique pgvector (ANN sur index HNSW), fusionnées par Reciprocal Rank Fusion (RRF), reranking Cohere multilingue, boosts pondérés par statut juridique (en vigueur, étendu, abrogé).
- Architecture multi-corpus : le moteur CCN est exposé en API REST et en serveur MCP dédié (HTTP/SSE), puis consommé par un agent qui route la requête entre plusieurs corpus — droit public consolidé ET corpus documentaire interne du cabinet (dizaines de milliers de documents) — avec des garde-fous juridiques codés en dur.
- Couche conversationnelle : boucle d’agent tool-use in-process (NestJS), passerelle LLM multi-provider (Anthropic / OpenAI / Google), streaming SSE bout-en-bout, prompts versionnés et éditables en base par l’administrateur, classification thématique automatique.
- Exploitabilité et sécurité : consoles d’administration (ingestion, files, corpus, embeddings, utilisateurs), authentification et clés API auditées, isolation multi-tenant, RGPD (effacement/export), déploiement conteneurisé auto-hébergé avec PostgreSQL/pgvector et Redis cloisonnés par service.
architecture
Moteur CCN — API REST NestJS
API NestJS/TypeScript autonome (Swagger) qui ingère, normalise et indexe l’intégralité des conventions collectives dans PostgreSQL + pgvector. Modèle Convention → Texte → Section → Article → Version.
Recherche hybride RRF + reranking
Full-text PostgreSQL (tsvector) et recherche vectorielle pgvector (index HNSW) fusionnés par Reciprocal Rank Fusion (RRF), reranking Cohere, boosts par statut juridique.
Ingestion Légifrance
OAuth2 sur l’API officielle Légifrance, files de traitement parallèles, parsing HTML, empreinte de contenu pour l’historisation, chunking des articles longs avant embeddings.
Serveur MCP dédié
Serveur Model Context Protocol HTTP/SSE exposant 7 outils (recherche CCN, structure d’une convention, article, statistiques…) comme proxy pur vers l’API du moteur.
Agent conversationnel multi-corpus
Boucle agent tool-use in-process (NestJS), passerelle LLM multi-provider, routage entre corpus (CCN distant via clé API, corpus documentaire interne, web, pièces jointes) avec citations sourcées.
Sécurité, multi-tenant & infra
Streaming SSE bout-en-bout, authentification et clés API auditées, RBAC hiérarchique et par permission, RGPD, déploiement conteneurisé auto-hébergé (PostgreSQL/pgvector + Redis).
stack
- NestJS
- Next.js
- PostgreSQL
- pgvector (HNSW)
- Prisma
- Redis
- Cohere Rerank
- MCP
- SSE
- Légifrance API