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
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
- Ingestion et découpage : des chunks de 500 caractères avec 100 caractères de chevauchement.
- Un index Chroma avec récupération dense top-3, embeddings depuis un modèle local (Ollama) ou OpenAI.
- Génération avec un modèle local ou gpt-4o-mini derrière la même interface.
- Un endpoint /query en FastAPI, Docker Compose et 30 tests pytest.
- 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
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