Plateforme RAG conversationnelle sur un catalogue de 72 000 références
résultats
références techniques indexées
requêtes résolues sans humain
workflows n8n en production
problème
Le catalogue de Labomoderne compte 72 000 références techniques et des milliers de PDF (fiches de sécurité, protocoles) que les clients ne savent pas naviguer : requêtes très spécialisées, contraintes de budget, besoin de citer de vrais produits sans jamais halluciner. Un chatbot RAG naïf (pgvector + rerank) ne suffit pas : il faut classifier l'intention, mémoriser le contexte, filtrer par budget, juger la pertinence produit, diversifier les résultats — et pouvoir auditer chaque décision pour faire confiance au système en production.
approche
- Orchestration conversationnelle dans n8n (12 workflows actifs, workflow maître de 76 nœuds) : mémoire incrémentale, classifieur d’intention à 13 catégories, agent LLM outillé (recherche produit multi-query, recherche PDF, panier, contact).
- Recherche hybride dans une seule fonction Postgres versionnée : KNN pgvector cosinus + full-text français + pondération distincte produits / PDF + pré-filtre budget déterministe.
- Post-traitement RAG dans le backend NestJS : rerank Cohere, juge de pertinence Gemini anti-hallucination (schéma JSON strict), diversification par gamme et double filtre budget / score.
- Prompts d’agent et seuils du pipeline pilotés en base de données : versionnés, audités, modifiables sans redéploiement.
- Observabilité maison à 3 niveaux (run / étape / candidat), exposée dans une console d’admin de replay pas-à-pas des runs RAG.
- Indexation multi-source MySQL → pgvector : enrichissement LLM des fiches produit avant embedding, feed nocturne à swap atomique.
architecture
Backend NestJS
API centrale en 16 modules et ~26 controllers : auth JWT/RBAC, chat, search (rerank + juge + enrichissement), rag-indexer, ai-models multi-provider.
Orchestration n8n
Runtime conversationnel : 12 workflows actifs versionnés (maître de 76 nœuds) pilotant mémoire, classification, prompts DB-driven, agent LLM et ses outils.
Recherche hybride pgvector
Fonction SQL unique : KNN vectoriel + full-text français + pondération produit / PDF + pré-filtre budget, sur les deux corpus (produits et PDF).
Post-traitement RAG (Cohere + Gemini)
Rerank Cohere puis juge Gemini anti-hallucination (JSON strict), diversification par gamme et double filtre budget / score.
Observabilité run / étape / candidat
Traçabilité dédiée journalisant chaque run, chaque étape (timing, payloads) et chaque candidat (score vectoriel, score rerank, verdicts des juges).
Console d’admin Next.js (RBAC)
Diagnostics RAG (replay des runs), qualité d’index, intégrité MySQL ↔ Postgres, gestion des prompts — RBAC.
Widget Next.js embarqué
Chat embeddable en iframe dans la boutique via postMessage : thématisation, ajout au panier, tracking des mentions produit.
Indexation MySQL → pgvector
Feed nocturne du catalogue (MySQL TLS direct) vers un mirror à swap atomique, réindexation idempotente avec enrichissement LLM avant embedding.
stack
- NestJS
- Next.js
- n8n
- PostgreSQL
- pgvector
- OpenAI
- Cohere
- Gemini
- Redis
retour client
« Notre catalogue de 72 000 références techniques est maintenant interrogeable en langage naturel. 90% des requêtes produits résolues sans intervention humaine. »