Blog / [ Article ]
Produit

Construire un chatbot LLM à l’état de l’art pour Proximus

En 2024, nous avons eu l'opportunité de développer un chatbot pour Proximus, leader des télécoms belges. Notre démarche d'innovation visait à explorer si l'état de l'art des technologies actuelles permet de répondre à une problématique essentielle.

Voici nos résultats.

Partage de connaissances par simple réponse aux questions

Voilà la promesse.

Le partage des connaissances est une problématique ancestrale qui reste d'actualité.

De nombreux dirigeants rêvent d'une solution permettant à chaque collaborateur d'obtenir instantanément l'information recherchée.

Les résultats en avant-première.

Comment c'était avant : les rule-based chatbots

Depuis de nombreuses années, certaines entreprises tentaient d'automatiser les réponses aux questions des clients avec des règles définies.

Ces chatbots fonctionnaient essentiellement avec de simples conditions if else imbriquées : si un cas d'usage n'était pas explicitement prévu, le bot se retrouvait perdu.

L'actuel service de support « automatisé » d'Ameli fonctionne encore sur ce principe aujourd'hui.

L’arrivée des LLM et premiers résultats

Avec l'essor des LLM (GPT, Claude, Llama, Mistral, pour n'en citer que quelques-uns), les contraintes techniques ont été considérablement repoussées !

Désormais, le bot possède une compréhension plus fine du langage et peut tenter d'apporter des réponses pertinentes à l'utilisateur, qu'il s'agisse d'un client ou d'un collaborateur interne.

Néanmoins, bien que les LLM soient entraînés sur des centaines de Go de données, ils ne sont pas censés connaître les documents confidentiels internes à l'entreprise.

Pour résoudre ce problème, deux solutions pouvant être cumulées s'offrent à nous :

  • Le fine-tuning
  • Le RAG

La première option retourne des résultats moins prévisibles. Elle est cependant utile pour jouer sur le ton dans les réponses du modèle.

La seconde consiste à sélectionner un LLM existant selon des critères spécifiques (coût, sensibilité des données, hébergement), puis à le connecter à une architecture appelée « RAG ».

Je t'invite à consulter cet article pour en apprendre davantage sur son fonctionnement général.

En résumé : les RAGs permettent d'apporter un contexte métier, ce qui les rend particulièrement intéressants pour notre solution.

Après les premiers essais et une fois l'effet « waouh » dissipé, nous avons rapidement constaté que les résultats atteignaient un plafond de verre : il était impératif d'améliorer considérablement la solution pour envisager son déploiement en production.

C'est à partir de ce constat que nous allons plonger dans l'état de l'art en 2024…

Nouvelle architecture : Agentic Rag

Avec l'amélioration plus lente des modèles LLM génériques, une manière de faire, tirée du développement logiciel traditionnel, est apparue : les agents.

Qu'est-ce qu'un agent ?

Imaginez un bot avec un rôle spécifique, excellent dans son domaine. Un exemple ? Un agent spécialisé dans la recherche des directives de la marque.

C'est l'application du principe de séparation des préoccupations : chaque composant de la solution gère une problématique simple, permettant ainsi de résoudre un problème complexe une fois tous les éléments assemblés.

Concrètement, un agent est une fonction définie par un prompt. Lorsqu'on l'invoque, on lui soumet une question en entrée, et il fournit une réponse conforme aux règles qui régissent son fonctionnement.

Les architectures en agent se sont récemment démocratisées, le CPO d’OpenAI estime même que ces derniers auront beaucoup d’impact en 2025.

Aller encore plus loin avec le pattern ReAct

En octobre 2022, un article de recherche a introduit un nouveau paradigme : le ReAct.

L'idée était d'allier la réflexion d'un agent LLM, notamment grâce aux chaînes de pensée, avec des outils contemporains tels que la capacité d'extraire des informations du web.

Deux ans plus tard, LangChain, l'un des principaux frameworks pour LLM, en propose une implémentation : il est maintenant possible de créer un agent et de lui fournir des « outils » pour enrichir son raisonnement avec diverses informations.

L’orchestration

Avoir une armée d'agents capables de réfléchir et d'agir pour accomplir une tâche assignée, c'est bien ; savoir les coordonner, c'est encore mieux.

L'orchestrateur est lui-même un agent, mais avec un comportement particulier :

  • Il reçoit d'abord la question de l'utilisateur
  • Il fait appel à l'agent approprié
  • Chaque agent lui renvoie les informations nécessaires
  • Il sollicite d'autres agents si besoin
  • Ce processus se répète jusqu'à ce qu'il fournisse une réponse complète à l'utilisateur
Exemple durant notre phrase de prototypage : nous pouvons visualiser les différentes étapes entre le superviseur/orchestrateur et les agents.

L’architecture ressemble maintenant à un graphe dont voici une représentation :

Source : langchain-ai.github.io/langgraph/tutorials/multi_agent/agent_supervisor/

Des optimisations sont possibles à chaque étape : l’exemple des graphes

Tu l'auras compris, un Agentic RAG est une solution logicielle et IA composée d'une multitude de briques. Chacune d'entre elles doit être adaptée et optimisée pour répondre aux besoins spécifiques de l'entreprise.

Prenons un exemple concret : traditionnellement, un RAG stocke les données métiers dans une base vectorielle. Cependant, dans le cas de Proximus, nous avons constaté que les informations s'organisaient plus naturellement sous forme de graphe.

Ce simple changement dans la méthode de stockage des données a considérablement amélioré nos résultats.

Connexion aux outils de l’entreprise

Jusqu'à présent, nous avons principalement abordé le backend et le fonctionnement interne de la solution. Du point de vue de l'utilisateur final, notre chatbot peut s'intégrer à diverses interfaces familières :

  • Système de tickets internes : le bot fournit une réponse s'il est confiant, sinon il transfère la demande à un collaborateur humain
  • Messageries d'entreprise (Slack, Teams) : le bot répond automatiquement aux questions posées
  • Interface web : un chatbot en ligne accessible aux utilisateurs externes

Résultats

Nous sommes particulièrement fiers de présenter les résultats en tête de cet article.

Bien qu'il reste de nombreuses pistes d'amélioration, la solution tient déjà sa promesse : elle répond avec précision aux questions des utilisateurs en s'appuyant sur une base de connaissances personnalisable et non structurée.

Regardez ce que Loop Support peut faire pour vous.

Découvrez comment Loop Support peut aider votre entreprise à créer des expériences client meilleures et plus humaines grâce à l’IA.