Case study

Démo privée

RAG 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.

Lab / archive — non mis en avant pour la candidature.

Aperçu du projet RAG Starter Kit
TypeProjet perso / preuve technique
Période2026
RôleConception et développement (full-stack)
StatutPrototype privé - publication à préparer
Niveau de preuveLa preuve existe hors ligne ou contient des données qui ne peuvent pas être publiées.
StackFastAPI, Qdrant, Mistral AI, LangChain, SQLite, pytest, Next.js 16 / React 19, Docker Compose
En brefAPI 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écisionPourquoiÉ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.