Section 11.4.19 : đŻ Mini-projet â Chatbot ou agent IA dĂ©ployĂ©
đŻ Objectif pĂ©dagogique
Combiner toutes les compétences de la Semaine 4 pour construire et déployer un chatbot ou agent IA complet. Ce mini-projet est la synthÚse de tout ce que vous avez appris : APIs, prompting, architecture, RAG, agents, et éthique.
Le défi de Marc
Marc va construire son CareerBot Pro : un agent RAG déployé sur Streamlit Cloud, avec base de connaissances, function calling, guardrails, et interface professionnelle. C'est le projet qui impressionnera lors de ses entretiens.
Cahier des charges
CAREERBOT PRO â SpĂ©cifications
âââââââââââââââââââââââââââââââââââââââââââââââââ
â Assistant IA de recherche d'emploi â
â SpĂ©cialisĂ© reconversion tech/data â
âââââââââââââââââââââââââââââââââââââââââââââââââ
FONCTIONNALITĂS REQUISES (MVP) :
1. Chat conversationnel avec mémoire
- Historique de session
- Résumé progressif des anciens messages
- Personnalité cohérente (System Prompt)
2. Base de connaissances RAG
- Minimum 20 documents (FAQ, guides, données marché)
- Recherche sémantique via ChromaDB
- Réponses sourcées
3. Function calling (minimum 3 outils)
- search_knowledge : recherche dans la base
- analyze_profile : compatibilité profil/poste
- create_plan : plan d'action personnalisé
4. Interface Streamlit
- Chat intuitif avec streaming
- Sidebar (configuration, profil, stats)
- Boutons d'action rapide
- Disclaimer "Assistant IA"
5. Sécurité
- Guardrails entrée/sortie
- Filtrage PII
- Protection prompt injection
6. Déploiement
- Code sur GitHub
- App live sur Streamlit Cloud
- README avec instructions d'installation
Structure du projet
career-bot-pro/
âââ app.py # Interface Streamlit principale
âââ agent.py # CareerAgentRAG (logique agent)
âââ knowledge.py # Gestion de la base de connaissances
âââ guardrails.py # SĂ©curitĂ© (PII, injection, output)
âââ memory.py # Gestion mĂ©moire (summary + recent)
âââ config.py # Configuration (models, prompts)
âââ tools.py # DĂ©finition des tools/functions
âââ data/
â âââ knowledge/ # Documents de la base de connaissances
â âââ salaires.txt
â âââ formations.txt
â âââ competences.txt
â âââ marche-emploi.txt
â âââ entretiens.txt
âââ tests/
â âââ test_guardrails.py
â âââ test_memory.py
â âââ test_scenarios.py
âââ requirements.txt
âââ .streamlit/config.toml
âââ .env.example # Template des variables d'environnement
âââ .gitignore
âââ README.md
Plan de réalisation (4 heures)
PHASE 1 â Fondations (1h)
âââ CrĂ©er la structure du projet
âââ Configurer l'environnement (.env, requirements)
âââ Ăcrire config.py avec le system prompt
âââ ImplĂ©menter guardrails.py (PII + injection)
âââ VĂ©rifier : test_guardrails.py passe â
PHASE 2 â Intelligence (1h30)
âââ Ăcrire knowledge.py (indexation ChromaDB)
âââ PrĂ©parer 20 documents dans data/knowledge/
âââ ImplĂ©menter tools.py (3 fonctions + dĂ©finitions OpenAI)
âââ Assembler agent.py (CareerAgentRAG complet)
âââ VĂ©rifier : conversation test dans le terminal â
PHASE 3 â Interface (1h)
âââ Construire app.py (Streamlit + chat + sidebar)
âââ IntĂ©grer l'agent dans l'interface
âââ Ajouter streaming, stats, boutons d'action
âââ Ajouter disclaimer IA + consentement donnĂ©es
âââ VĂ©rifier : test manuel dans le navigateur â
PHASE 4 â DĂ©ploiement (30 min)
âââ PrĂ©parer le repo GitHub
âââ Ăcrire README.md (installation, features, screenshots)
âââ Configurer Streamlit Cloud (secrets, repo)
âââ Tester l'app en production
âââ VĂ©rifier : URL publique fonctionnelle â
CritÚres d'évaluation
| CritĂšre | Points | Description |
|---|---|---|
| Fonctionnel | /30 | Le chatbot répond correctement, utilise les outils |
| RAG | /20 | Les réponses sont basées sur la base de connaissances |
| Sécurité | /15 | Guardrails fonctionnels, PII filtrées |
| Interface | /15 | UX propre, streaming, sidebar, disclaimer |
| Code | /10 | Code lisible, modulaire, documenté |
| Déploiement | /10 | App live, README, .env.example |
Bonus (optionnels)
- Multi-provider (OpenAI + Anthropic avec fallback)
- Upload de CV (extraction et analyse automatique)
- Export de la conversation en PDF
- Mode "préparation entretien" interactif
- Dashboard d'analytics (nombre de conversations, questions fréquentes)
- Tests automatisés avec CI/CD GitHub Actions
Ce projet vaut un portfolio
Un agent RAG dĂ©ployĂ© avec function calling, guardrails, et base de connaissances n'est pas un exercice scolaire â c'est un projet professionnel. Mettez-le sur votre GitHub, ajoutez des screenshots, et mentionnez-le en entretien. "J'ai construit un agent IA avec RAG, deployĂ© sur Streamlit Cloud" â c'est concret et impressionnant.
đïž Exercice final (4 heures)
Suivez le plan de réalisation en 4 phases :
- âPhase 1 : Structure + config + guardrails + tests
- âPhase 2 : Knowledge base + agents + tools
- âPhase 3 : Interface Streamlit complĂšte
- âPhase 4 : GitHub + dĂ©ploiement Streamlit Cloud
Livrable final : URL du repo GitHub + URL de l'app déployée.
Quel est le composant le plus important pour la crédibilité d'un chatbot en production ?
Pourquoi structurer le projet en modules séparés (agent.py, guardrails.py, knowledge.py) plutÎt qu'un seul fichier ?