← Tous les projets

Back-end

Assistant documentaire (RAG)

Un assistant qui répond aux questions sur une documentation technique en citant ses sources au fichier et à la ligne près, et qui dit quand elles ne répondent pas.

En cours Sprint S61-S62 · 10 points
En bref, sans jargon pour les non-informaticiensLire le résuméRefermer
Ce que c'est
Un assistant à qui une équipe pose des questions sur sa documentation, et qui répond en montrant d'où vient chaque phrase.
À quoi ça sert
Trouver vite la bonne page dans une documentation qui grossit, sans croire sur parole une réponse inventée.
Ce que ça montre
Brancher un modèle de langage sur ses propres documents, et mesurer la qualité de ce qu'il retrouve et de ce qu'il répond.
Code source

Comment les morceaux tiennent ensemble

Schéma : Documentation → Découpage ; Découpage → BM25 (mots-clés) ; Découpage → Qdrant (vecteurs) ; BM25 → Recherche hybride (rangs) ; Qdrant → Recherche hybride (rangs) ; API → Recherche hybride ; Recherche hybride → Claude. mots-clés vecteurs rangs rangs Documentation Markdown du dépôt Découpage blocs, titres, lignes BM25 écrit ici, sans dépendance Qdrant embeddings MiniLM Recherche hybride fusion RRF API FastAPI, Docker Claude blocs search_result

Ce qu'il retrouve

Mesuré sur 40 questions de référence en français et en anglais, dont 32 ont leur réponse quelque part dans les 421 passages de la documentation ; pour chacune, le bon fichier et le bon titre sont connus.

RechercheBon passage en 1erdans les 3 premiersdans les 5 premiersMRR
Mots-clés (BM25)0,410,560,660,51
Sens (vecteurs)0,310,630,750,49
Hybride (les deux, fusionnés)0,530,690,810,62

Part des questions dont un bon passage arrive dans les premiers résultats ; MRR : moyenne de 1 / rang du premier bon passage. Embeddings : sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2, en local. Recalculé par la CI à chaque modification de la documentation.

Ce qu'il répond

Prototype : l'évaluation des réponses de Claude (citations justes, refus justes) est écrite et testée avec un faux modèle, mais n'a pas été lancée, faute de clé d'API ; le job « answers » de la CI la produira avec une clé.

Technologies

  • Python
  • FastAPI
  • Qdrant
  • Claude
  • pytest
  • Docker

Qui fait quoi

Python
L'ingestion (découpage par titres, lignes gardées), la recherche hybride et l'évaluation.
FastAPI
Les routes de recherche et de question, la validation des requêtes et la documentation OpenAPI.
Qdrant
La base de vecteurs : les embeddings multilingues des passages, cherchés par similarité.
Claude
Rédige la réponse à partir des seuls passages retrouvés, chaque phrase citée (blocs search_result).
pytest
Les tests du découpage, de la recherche et des citations, avec un faux modèle, sous Linux, Windows et macOS.
Docker
L'API et Qdrant, lancés par docker compose.

Definition of Done

  • Code relu, diff par diff
  • Tests unitaires et d'intégration verts
  • CI verte sur Linux, Windows et macOS si compilé
  • README, REVIEW.md et DECISIONS.md à jour
  • Textes en français et en anglais
  • Démo déployée et testée sur mobile