Case study
Démo privéeRAG Starter Kit - API de retrieval augmenté multi-tenant
Servir plusieurs clients sur un même backend RAG, en gardant les données isolées par client_id et en mesurant la qualité des réponses.

| Type | Projet perso / preuve technique |
|---|---|
| Période | 2026 |
| Rôle | Conception et développement (full-stack) |
| Statut | Prototype privé - publication à préparer |
| Niveau de preuve | La preuve existe hors ligne ou contient des données qui ne peuvent pas être publiées. |
| Stack | FastAPI, Qdrant, Mistral AI, LangChain, SQLite, pytest, Next.js 16 / React 19, Docker Compose |
| En bref | API FastAPI qui ingère des documents (PDF, DOCX, Markdown, texte), les indexe dans Qdrant et répond en citant ses sources, avec auth multi-tenant et un module d'évaluation type Ragas. |
Contraintes
Contexte et contraintes.
- Données de démonstration, secrets et identités retirés avant toute future publication.
- Backend unique servant plusieurs clients : isolation stricte des données par tenant.
Décisions
Les choix et leurs compromis.
| Décision | Pourquoi | Écarté |
|---|---|---|
| Qdrant comme base vectorielle, orchestration via LangChain. | Stack RAG éprouvée, intégration directe avec les embeddings Mistral et les text-splitters. | Recherche full-text classique sans vecteurs, insuffisante pour gérer la similarité sémantique. |
| Module d'évaluation type Ragas avec cas de scoring versionnés. | Mesurer la qualité du retrieval au lieu de juger les réponses à l'œil. | Validation manuelle ad hoc, difficile à reproduire et à comparer entre versions. |
Livraison
Livrables.
- Backend FastAPI : ingestion, retriever, chat avec sources, auth multi-tenant, logs d'usage et d'audit.
- Frontend Next.js 16 / React 19 (App Router, TypeScript, Tailwind 4).
- Stack dockerisée (Qdrant + backend + frontend) lançable via docker compose, + docs d'onboarding.
Résultats
Résultats.
- Suite de tests pytest et jeux de cas de scoring en place pour évaluer le retrieval.
- Performance et qualité chiffrées du RAG : pas encore mesurées publiquement.