Projet de Support Client (Multi)-Agent pour Entreprise Téléphonique
Système Agentique pour un service client téléphonique fictif TelecomPlus. Le système doit répondre aux questions clients en utilisant des documents PDF (FAQ) et des données SQL/XLSX (base de données clients).
Le projet contient 6 tables Excel dans data/ :
| Table | Description |
|---|---|
| clients.xlsx | Informations clients (nom, prénom, email, téléphone, adresse) |
| forfaits.xlsx | Forfaits disponibles (nom, data mensuelle, prix, durée engagement) |
| abonnements.xlsx | Abonnements actifs des clients (forfait, dates, statut engagement) |
| consommation.xlsx | Consommation mensuelle (data utilisée, minutes, SMS) |
| factures.xlsx | Factures clients (montant, statut paiement, échéances) |
| tickets_support.xlsx | Tickets de support technique (catégorie, statut, priorité) |
Documents PDF (7 fichiers dans data/pdfs/) :
- FAQ_Facturation_et_Paiements.pdf
- FAQ_Forfaits_et_Abonnements.pdf
- FAQ_Support_Technique.pdf
- FAQ_Roaming_International.pdf
- FAQ_Compte_Client.pdf
- FAQ_Resiliation_et_Modifications.pdf
- FAQ_Catalogue_Telephones.pdf
Commencez par cloner le projet sur votre ordinateur :
git clone https://github.com/BastinFlorian/dauphine-project-iasd-2025
cd dauphine-project-iasd-2025Important : Ne travaillez pas directement sur la branche main. Créez votre propre branche :
# Créer et basculer sur une nouvelle branche
git checkout -b FEATURE/description-de-votre-travail
# Exemple :
git checkout -b FEATURE/multi-agent-rag-systemPendant votre développement, utilisez ce workflow :
# Voir l'état de vos modifications
git status
# Ajouter vos fichiers modifiés
git add .
# Ou ajouter des fichiers spécifiques
git add src/main.py evaluate.py
# Créer un commit avec un message descriptif
git commit -m "feat: implement RAG agent with PDF indexing"
# Pousser votre branche sur GitHub
git push origin FEATURE/description-de-votre-travailBonnes pratiques Git :
- Faites des commits réguliers avec des messages clairs
- Utilisez des messages conventionnels (feat, fix, docs, refactor, etc.)
- Poussez régulièrement votre code pour éviter de perdre votre travail
- Créer des Pull Request et merger le code sur main ensuite, uniquement après validation de votre binôme
Pour vous simplifier la démonstration, une interface a été crée.
Pour la lancer sur votre ordinateur, après avoir créé un environnement virtuel, éxécutez les commandes suivantes:
pip install -r requirements.txt
streamlit run app.pyL'interface Streamlit s'ouvrira dans votre navigateur. Pour l'instant, une réponse basique est donnée. Votre travail est d'améliorer la réponse afin de la rendre pertinente pour le cas d'usage en question.
Par exemple, voici les réponses attendues pour deux questions distinctes:
Q. Quels modes de paiement acceptez-vous ?
R. Nous acceptons les paiements par carte bancaire, prélèvement automatique, virement bancaire et PayPal. Le prélèvement automatique garantit de ne jamais manquer une échéance.
Q. Y a-t-il des frais de résiliation si je suis engagé ?
R. Si vous êtes encore en période d'engagement, des frais égaux au montant des mensualités restantes peuvent s'appliquer. Si vous êtes hors engagement (après 12 ou 24 mois), la résiliation est gratuite.
Pour evaluer votre agent, il faudra modifier le script d'évaluation (créé par défaut):
python evaluate.pyDéveloppez un système capable de répondre aux questions clients à paartir de différentes données :
- RAG : Recherche dans les documents PDF
- SQL ou PandaDataframeTool : Requêtes sur les tables de données
- Orchestration : Coordination des agents selon la question
Vous pouvez vous inspirer de l'architecture de dossier suivante pour construire votre solution
Créez evaluate.py pour évaluer votre système :
- Charger les questions depuis
data/evaluation_questions.xlsx(25 questions) - Exécuter votre agent sur chaque question
- Comparer les réponses générées aux réponses attendues
- Calculer un score (utilisez un LLM-as-a-judge pour l'évaluation)
Le README.md de votre projet doit détailler :
- Architecture de votre système agentique
- Choix techniques et justifications
- Instructions d'installation et d'exécution
- Résultats d'évaluation obtenus
14 décembre 2025 - 23h59
- Code hébergé sur GitHub
- Lien du repository à envoyer avant la deadline
Format :
- Pas de slides ou présentation PowerPoint demandée
- Démonstration en direct sur votre ordinateur (vérifier que vous n'avez pas de problème pour partager votre écran lors d'une réunion Teams)
- Questions/réponses sur le code et les choix d'architecture
Déroulement (environ 15 minutes) :
- Démonstration: Montrer l'application fonctionnelle
- Questions du professeur : Tester votre Agent IA avec de nouvelles questions
- Outil de monitoring: Présenter les traces et métriques (Langfuse/Langsmith/MLflow)
- Discussion technique : Expliquer les choix d'implémentation
- Dataset d'entraînement : Qualité des réponses sur les 25 questions d'évaluation
- Généralisation : Capacité à répondre à des questions inconnues posées lors de la soutenance
- Précision : Justesse des informations extraites (documents PDF et données SQL)
- Clarté et documentation : Code lisible, commenté, avec docstrings
- Structure du projet : Organisation logique des fichiers et modules
- Prompts : Qualité et précision des prompts utilisés
- Évaluation : Script
evaluate.pyfonctionnel avec métriques pertinentes
- Complexité : Sophistication de l'approche choisie (simple agent vs multi-agent)
- Justification : Pertinence des choix techniques (RAG, SQL, orchestration)
- Efficacité : Performance et temps de réponse du système
- Traçabilité : Utilisation d'un outil de monitoring (Langfuse, Langsmith, ou MLflow)
- Métriques : Suivi des appels LLM, coûts, latences, erreurs
- Démonstrabilité : Capacité à montrer les traces lors de la soutenance
- Solutions élégantes et minimalistes seront valorisées
- Éviter la complexité inutile (over-engineering)
Exemples d'étapes à réaliser:
- Indexer les documents PDFs dans une base vecteur en local
- Exploiter les fichier excels en constituant des outils accessibles au LLM
- Réaliser une architecture Agentique adaptée pour fournir des réponses pertinentes
- Evaluer votre agent en utilisant les Questions/Réponses de référence listées dans
evaluation_question.xlsx - Documenter et soigner votre code pour respecter les conventions PEP8, Flake8, Mypy, Pylint, ou toute bonne pratiques de code
Université Paris Dauphine - IASD 2025-2026