How ibrahimabalde09/rag-assurance-chatbot- works
Le produit est un chatbot conversationnel spécialisé en assurance, banque et immobilier. Le parcours principal va de l’interface web à l’API, puis au pipeline RAG : classification du domaine, recherche documentaire, génération contextualisée ou générale, et persistance de l’échange. La construction de l’index documentaire est une branche distincte qui alimente la recherche à l’exécution. Le README documente aussi l’évaluation quantitative. Les liens détaillés reflètent les extraits disponibles ; les implémentations de génération, modèles et endpoints de santé n’ont pas été échantillonnés.
Main entry points: main.py Application FastAPI · chat.py Endpoint chat · pipeline.py Pipeline RAG · evaluate.py Évaluation RAG
Components 24
Interface web
- Chat web
static/app.js
API et orchestration
- Application FastAPI
app/main.py - Endpoint chat
app/api/chat.py - Schémas API
app/api/schemas.py - Santé API
app/api/health.py - Configuration
app/core/config.py - Pipeline RAG
app/rag/pipeline.py - Routage domaine
app/rag/router.py - Génération réponse
app/rag/generator.py - Prompts RAG
app/rag/prompts.py
Base documentaire
- Recherche FAISS
app/rag/retriever.py - Corpus source
data/raw - Chargement textes
ingestion/loader.py - Découpage chunks
ingestion/splitter.py - Construction index
ingestion/build_index.py - Chunks enrichis
data/processed/chunks.json - Index et documents
data/vectorstore
Historique conversationnel
- Session SQL
app/db/session.py - Modèles conversation
app/db/models.py - Base historique
Évaluation
- Évaluation RAG
evaluation/evaluate.py - Questions de référence
evaluation/golden_dataset.json
Other components
- Utilisateur
- OpenAI LLM
Connections 30
- Utilisateur → Chat web: saisit question
- Chat web → Application FastAPI: charge interface
- Chat web → Endpoint chat: envoie message
- Application FastAPI → Endpoint chat: monte route
- Application FastAPI → Santé API: monte route
- Application FastAPI → Configuration: lit réglages
- Application FastAPI → Session SQL: initialise base
- Application FastAPI → Pipeline RAG: crée pipeline
- Endpoint chat → Schémas API: valide échange
- Endpoint chat → Session SQL: obtient session
- Endpoint chat → Modèles conversation: lit écrit
- Endpoint chat → Pipeline RAG: traite question
- Pipeline RAG → Routage domaine: classe domaine
- Pipeline RAG → Recherche FAISS: cherche passages
- Pipeline RAG → Génération réponse: génère réponse
- Recherche FAISS → Index et documents: lit index
- Génération réponse → Prompts RAG: utilise prompts
- Génération réponse → OpenAI LLM: appelle modèle
- Chargement textes → Corpus source: lit corpus
- Construction index → Chargement textes: charge documents
- Construction index → Découpage chunks: découpe textes
- Construction index → Chunks enrichis: écrit chunks
- Construction index → Index et documents: construit index
- Session SQL → Base historique: ouvre session
- Modèles conversation → Base historique: définit tables
- Évaluation RAG → Questions de référence: lit questions
- Évaluation RAG → Routage domaine: mesure routage
- Évaluation RAG → Recherche FAISS: mesure recherche
- Évaluation RAG → Pipeline RAG: évalue génération
- Évaluation RAG → OpenAI LLM: juge réponses