Comment développer un chatbot basé sur GPT… qui ne se trompe pas

Comment développer un chatbot basé sur GPT… qui ne se trompe pas Créer un assistant reposant sur le modèle d'OpenAI implique une méthode bien particulière si l'on souhaite en maximiser la performance des résultats.

"Faire un chatbot avec GPT-4 qui va répondre correctement dans 80% des cas, c'est facile. En revanche, atteindre les 100% est une autre paire de manches", prévient d'emblée Louis-Clément Schiltz, fondateur et CEO de Webotit. Comme souvent en intelligence artificielle, un travail préalable sur les données se révèle indispensable pour tendre vers ce niveau de précision.

1. Disposer des bonnes données

La qualité des données demeure un point clé. "Elles doivent être lisibles et les plus structurées possible. Et évidemment, elles doivent couvrir le champ d'expertise ciblé", insiste Thomas Sabatier, CEO de tolk.ai, éditeur français d'une plateforme de développement no code de bot GPT. "Ce sont des prérequis basiques, mais souvent négligés par les clients."

2. Créer un pipeline de structuration des informations

En amont, on mettra au point un pipeline pour structurer les données d'apprentissage. "En partant d'une documentation au format PDF par exemple, un modèle ad hoc permettra de générer toutes les questions que l'on pourrait se poser à partir du texte. Un autre réalisera un découpage en paragraphes avant d'en synthétiser chacun d'eux. Un troisième identifiera les mots clés qui lui semblent importants et cernera les sujets principaux des paragraphes", explique Thomas Sabatier. "C'est ce travail qui contribue à optimiser ensuite la récupération d'information, ou retrieval, au moment où la question est posée, en vue de pousser la bonne réponse."

"Au final, un assureur pourra combiner ces différentes méthodes pour créer l'équivalent d'un ChatGPT"

Louis-Clément Schiltz ajoute : "Cette structuration du contenu en section, chacune résumée, contribuera à réduire le risque d'hallucination, c'est-à-dire de réponse fausse. Cette démarche est aussi importante lors de l'utilisation d'autres large language modèle, notamment Falcon ou Claude 2." Au final, la méthode permet de maximiser la précision des résultats en conservant la trace des contextes présents dans l'intégralité de la documentation. 

3. Etablir un score de confiance

A cela viendra s'ajouter un ranking des réponses avec un score de confiance pour affiner encore la précision. "Au final, un assureur pourra combiner ces différentes méthodes pour créer l'équivalent d'un ChatGPT capable de répondre à des questions sur ses contrats, ses conditions générales de vente, ses tableaux de couverture...", explique Thomas Sabatier. "Dans le cas d'un client souhaitant se faire poser une prothèse de la hanche, le bot pourra lui préciser s'il est couvert pour cet acte médical et à quel niveau."

4. Définir une stratégie de prompt

Le prompt engineering entre ensuite dans la danse. Il renvoie aux indications et instructions fournis au modèle pour générer la réponse souhaitée. Il précise le domaine couvert, le ton, le niveau de précision, la longueur, la structure, le style... La "personnalité" du bot sera ainsi mise en cohérence avec l'univers de la marque. En fonction de la population cible, il faudra notamment faire un choix entre tutoiement et vouvoiement.

5. Créer un chatbot conforme au RGPD

Pourquoi utiliser GPT ? "C'est, à ce jour, le seul modèle de ce niveau de performance qui permet, dans le même temps, d'être conforme au RGPD", commente Thomas Sabatier. "Microsoft Azure en partenariat avec OpenAI est le seul fournisseur qui permette à la fois de bénéficier du meilleur niveau de performance et d'un hébergement des données sur le continent européen."

Pour les organisations issues de secteurs réglementés, le CEO de Webotit.ai recommande de son côté de mettre en œuvre un moteur de pseudonimisation des requêtes. "Ce qui permet de ne prendre aucun risque vis-à-vis de la conformité au RGPD. N'oublions pas que GPT est une solution cloud qui reste américaine, qu'elle soit opérée par OpenAI ou par Microsoft sur Azure."

6. Mettre en œuvre un orchestrateur

En amont du modèle GPT, un moteur de NLP va gérer l'ensemble des interactions avec le bot. Il jouera un rôle d'orchestrateur afin d'aiguiller les requêtes. Eventuellement basé sur la technologie open source LangChain, il permettra à la fois de capter, qualifier, filtrer l'intention de l'utilisateur, avant de l'orienter. Est-ce qu'un modèle généraliste comme GPT répond à la question ? A contrario, est-ce qu'un modèle GPT, qui aura été préalablement spécialisé, peut se révéler plus pertinent ? La conversation mérite-t-elle de basculer vers un humain ? La conversation implique-t-elle de passer par un formulaire ou encore un tunnel d'achat ou de support.

"Du coup, l'orchestrateur va également piloter les interfaces avec le système d'information, de la base de données de produits au suivi de commandes en passant par les outils de ticketing pour assurer le suivi des demandes client...", commente Louis-Clément Schiltz. "L'orchestrateur intégrera par ailleurs un moteur de calcul (tâche pour laquelle GPT-4 n'est pas à la hauteur, ndlr)." Enfin, le moteur de NLP pourra aussi traiter les questions les plus critiques méritant une validation par un humain.