Aller au contenu
Amine Bazi.
Retour aux projets

Agent IA — projet de fin d'études · 2025

ServiceBot IA

Agent IA de service client : chatbot RAG, sentiment et rétention

Interface de conversation du chatbot ServiceBot IA

Contexte et problème

Projet de fin d'études que j'ai conçu et développé intégralement, à l'EMSI. Les équipes support répondent aux mêmes questions en boucle, sans disponibilité 24/7 ni vision sur la satisfaction réelle des clients. J'ai conçu un agent IA capable de répondre, d'analyser et d'escalader.

Objectifs

  • Automatiser les réponses aux questions fréquentes grâce à une base de connaissances indexée (RAG).
  • Détecter le mécontentement client par analyse de sentiment.
  • Générer des réponses personnalisées aux avis clients.
  • Escalader proprement vers un humain avec création de ticket lorsque nécessaire.
  • Fournir aux équipes un tableau de bord analytique multilingue.

Mon rôle

  • Conception et développement du backend Python / FastAPI : endpoints chat, sentiment, avis, enquêtes et rapports.
  • Mise en place du pipeline RAG : indexation documentaire dans Pinecone et orchestration LangChain avec Google Gemini.
  • Développement du module d'analyse de sentiment et de la génération de réponses aux avis.
  • Développement de l'interface React : chat, tableaux de bord et modules d'administration.

Fonctionnalités principales

  • Chatbot FAQ 24/7 : réponses générées à partir de la base de connaissances via RAG (LangChain + Gemini + Pinecone).
  • Analyse de sentiment : détection des émotions et des mécontentements dans les conversations.
  • Réponses aux avis : génération automatique de réponses personnalisées aux avis clients.
  • Enquêtes de satisfaction automatisées : NPS, CSAT et CES.
  • Escalade humaine : création et suivi de tickets lorsque l'agent ne peut pas répondre.
  • Interface d'administration multilingue (dont arabe avec support RTL) : dashboard, analytics, rapports PDF.

Architecture technique

  • API FastAPI structurée en modules : chatbot, rag, sentiment, avis, enquêtes, tickets, commandes, analytics, rapports.
  • Pipeline RAG : documents découpés, vectorisés et indexés dans Pinecone ; récupération de contexte puis génération avec Gemini (Flash et Pro).
  • Orchestration LangChain pour chaîner récupération, prompts et appels au modèle.
  • Frontend React / Vite avec Redux : chat en temps réel, dashboards et administration.
  • Suite de tests dédiée (pytest) et documentation Swagger / ReDoc générée automatiquement.

Technologies

  • Python
  • FastAPI
  • LangChain
  • Google Gemini
  • Pinecone
  • RAG
  • React
  • Vite

Décisions et défis techniques

  • Qualité des réponses : la récupération de contexte (RAG) doit être précise pour éviter les réponses inventées — réglages sur le découpage documentaire et les prompts.
  • Multilinguisme réel : interface traduite incluant l'arabe, avec gestion complète de la mise en page RTL.
  • Escalade maîtrisée : définir les seuils à partir desquels l'agent passe la main à un humain plutôt que de risquer une mauvaise réponse.

Résultat et limites

  • Prototype fonctionnel testé localement : chat, sentiment, avis, enquêtes, tickets et dashboards opérationnels.
  • Captures d'écran réelles de l'application présentées ci-dessous.
  • Limite connue : le fonctionnement dépend de services externes payants (API Gemini, Pinecone) — non déployé publiquement.
  • Limite connue : projet de démonstration, non connecté à des données clients réelles.

Captures d'écran

Interface de conversation du chatbot ServiceBot IA
Conversation avec l'agent — réponses appuyées sur la base de connaissances (RAG).
Tableau de bord d'administration de ServiceBot IA
Tableau de bord : vue d'ensemble de l'activité du service client.
Module analytique de ServiceBot IA
Analytics : suivi des conversations et indicateurs de satisfaction.
Gestion des tickets d'escalade dans ServiceBot IA
Tickets : escalade vers un humain lorsque l'agent ne suffit pas.
Analyse de sentiment des conversations
Analyse de sentiment : détection des mécontentements en temps réel.