Senegal-Orientation-Chatbot est une plateforme intelligente d’aide à l’orientation académique et professionnelle des étudiants sénégalais. Elle s’appuie sur un modèle de langage (LLM) combiné à une recherche augmentée par récupération (RAG – Retrieval-Augmented Generation) pour fournir des réponses précises, contextualisées et personnalisées.
# 🇸🇳 Senegal Orientation Chatbot
## 🧠 Projet de Chatbot d'Orientation Scolaire et Professionnelle pour le Sénégal
Ce projet vise à créer un agent conversationnel intelligent basé sur la technologie **RAG (Retrieval-Augmented Generation)** et un **Modèle de Langage Local (LLM)** pour fournir aux étudiants, parents et professionnels des informations précises et à jour sur les formations, les établissements et les opportunités d'orientation au Sénégal.
Le projet est entièrement conteneurisé à l'aide de **Docker** et **Docker Compose**, utilisant **Streamlit** pour l'interface utilisateur et **Ollama** pour le modèle de langage local.
***
## 🛠️ Architecture du Projet
Le système est décomposé en plusieurs services conteneurisés et suit une architecture modulaire :
| Composant | Technologie(s) | Rôle |
| :--- | :--- | :--- |
| **Backend / API** | Python, FastAPI (Optionnel), SQLAlchemy | Logique métier, gestion de la base de données, exécution des scripts d'ingestion. |
| **Chatbot Core** | LangChain | Implémentation du RAG (Retrieval, Embeddings, Chains, Agents). |
| **Interface Utilisateur** | Streamlit | Application web interactive pour l'interface de chat et l'administration. |
| **LLM (Modèle de Langage)** | Ollama | Serveur pour héberger et servir un modèle de langage local (ex: Llama3, Mistral, Gemma). |
| **Base de Données** | PostgreSQL (via Docker) | Stockage des données structurées (formations, établissements, etc.). |
| **Vector Store** | ChromaDB | Stockage des embeddings de la documentation d'orientation. |
### Structure des Répertoires Clés
chatbot-sen-orientation/
├── config/ # Paramètres de configuration (settings, prompts)
├── data/ # Données brutes et traitées (documentation, vector store)
├── src/ # Cœur de la logique métier (RAG, DB, LLM)
├── streamlit_app/ # Code de l'interface utilisateur Streamlit
├── api/ # Code de l'API FastAPI (si utilisée)
├── docker/ # Dockerfil …