Aller au contenu

RAG-Syntec — EN COURS

Répond aux questions sur la convention collective Syntec et refuse les questions hors sujet avant même d'appeler le LLM. 172 documents, 8 447 chunks, récupération dense sur Chroma.

En bref
  • 172 docs · 8 447 chunks
  • 55 questions étiquetées

Ma contributionIngestion et découpage : des chunks de 500 caractères avec 100 caractères de chevauchement.

RÔLE
Solo
CONTEXTE
Projet personnel, parti d'un squelette de test technique
STATUT
En cours
RÉSULTAT
Calibration du seuil seulement : les questions dans le sujet sont restées sous une distance de 0,701, les hors-sujet au-dessus de 0,780 ; le seuil est fixé à 0,74.
MISE À JOUR
26 sept. 2026
questionPOST /queryretrieve top-3Chroma · 8,447 chunksguardrailnearest distance ≤ 0.74?answerOllama or gpt-4o-minirefuseno LLM callyesno
Fig. — comment ça marche
1

Données

La convention collective Syntec (IDCC 1486) issue de Légifrance : 172 documents découpés en 8 447 chunks, versionnés dans un manifeste haché.

2

Ce que j'ai construit

Solo

  1. Ingestion et découpage : des chunks de 500 caractères avec 100 caractères de chevauchement.
  2. Un index Chroma avec récupération dense top-3, embeddings depuis un modèle local (Ollama) ou OpenAI.
  3. Génération avec un modèle local ou gpt-4o-mini derrière la même interface.
  4. Un endpoint /query en FastAPI, Docker Compose et 30 tests pytest.
  5. Un jeu étiqueté de 55 questions réparties en quatre classes, plus 20 mises de côté, et les métriques recall@k, precision@k et MRR.
3

Choix clés

Refuser avant de générer
Si le chunk le plus proche est plus loin qu'une distance calibrée, l'API refuse sans appeler le LLM.
Corpus versionné
Un manifeste haché relie chaque chunk à une version de document.
Modèles locaux ou hébergés
Le même pipeline tourne sur Ollama ou sur OpenAI.
4

Résultats

0.6 0.9 Dans le sujet, distance maximale0.701Seuil de refus0.740Hors sujet, distance minimale0.780
Script de calibration sur 3 questions dans le sujet et 3 hors sujet (8 sept. 2026). Échantillon trop petit pour se fier à la frontière exacte.

Calibration du seuil seulement : les questions dans le sujet sont restées sous une distance de 0,701, les hors-sujet au-dessus de 0,780 ; le seuil est fixé à 0,74.

5

Limites

  • Aucune évaluation de la récupération n'a encore été lancée : le jeu de questions et les métriques existent, l'exécuteur non.
  • Récupération dense uniquement : la recherche hybride et le reranking sont prévus, pas encore réalisés.
  • Le seuil de refus repose sur six questions.

Des questions sur ce projet ? → Écrivez-moi