Bases des modèles conversationnels II : comment structurer le dialogue

Dans cet article, nous parlerons des techniques de base pour obtenir les meilleurs résultats lors de dialogues avec un modèle conversationnel type ChatGPT.

Il est possible d’obtenir des résultats satisfaisants avec des prompts spontanés mais la qualité des résultats sera impactée par la structure de la demande et son contenu. Nous allons donc passer successivement en revue les élements constitutifs d’une demande bien construite ainsi que les mécanismes les plus efficaces pour mettre interactivement le modèle conversationnel sur la voie de la réponse souhaitée.

Cet article ne décrit que des techniques générales à garder en mémoire lors de toute interaction avec ces modèles; il est souhaitable de les parcourir avant de présenter des cas d’utilisation concrets comme nous le ferons dans les prochains articles.

1. Eléments constitutifs de la question

Les éléments constitutifs d’une question adressée à un modèle conversationnel sont les suivants :

  • Instruction : ce que vous demandez au modèle;
  • Contexte : information externe ou circonstancielle qui va aider le modèle à comprendre correctement la demande;
  • Données en entrée : informations fournies au modèle en entrée pour le traitement. Les données en entrée s’apparentent au contexte mais sont en général de nature plus précise et spécifique;
  • Format de la réponse : vous pouvez ici spécifier un modèle de réponse désirée, par exemple en termes de longueur, de langue, de style ou de format de fichier. De même vous désirez une simple réponse binaire de type oui/non ou vrai/faux, dites-le.

Ces éléments ne sont pas tous systématiquement présents, mais il est bon de parcourir mentalement cette liste lors de chaque question initiale afin d’être sûr de ne rien oublier. bien sûr, il est possible d’apporter des précisions dans la suite du dialogue, mais cela est moins optimal.

2. Principes de bases du questionnement

Voici quelques principes de base pour vous aider à élaborer une question pertinente et susceptible d’être traitée efficacement par le modèle :

Premier principe : Soyez directif. Vous ne vous adressez pas à un être humain. Pas besoin de salutation ou de forme de politesse interrogative. Utilisez l’indicatif ou l’impératif, pas le conditionnel. Dites « fais ceci » ou « je veux cela » et pas « est-ce que tu pourrais ? » ni « pardon de vous importuner » ? Inutile de dire bonjour ou merci. Si votre sentiment anthropomorphique est trop fort, imaginez que vous êtes un général qui donne un ordre à un soldat.

Dialogue 1 : Une question simple

Second principe : Ecrivez des instructions claires et précises. Cela ne signifie pas que les instructions doivent être courtes, au contraire. Il vaut mieux être explicite que de laisser le modèle devoir deviner quelque chose d’implicite. Décrivez le contexte de la demande. Expliquez ce que vous attendez et sous quelle forme. Il est préférable que la question initiale fournisse directement l’emsemble es éléments plutôt que de devoir les fournir pièce par pièce lors de dialogues ultérieurs.

N’hésitez pas à utiliser des délimiteurs pour isoler un texte à traiter (par exemple pour une demande de résumé), et n’hésitez pas non plus à être très précis dans le format de la réponse, par exemple en spécifiant un gabarit de phrase dont les champs devront être complétés en fonction de la réponse.

Dialogue 2 : Question élémentaire avec spécification du format de réponse

Troisième principe : Fournissez des exemples. Si cela est possible, fournissez des exemples de question-réponse corrects dans la question initiale, en expliquant qu’il s’agit d’exemples à imiter. Un format « Question : / Réponse :  » est suffisant. Cette technique est appelée en Anglais few-shot learning, alors que le zero-shot learning signifie que l’on demande au modèle de répondre directement à la question sans fourniture d’exemples.

Dialogue 3 : Fourniture d’exemples pour illustrer la demande

Quatrième principe : Encouragez le système à détailler son raisonnement. Si question posée demande au modèle d’effectuer un raisonnement comportant plusieurs étapes successives avec éventuellement des choix intermédiaires, vous pouvez lui ordonner de réfléchir étape par étape et d’ exposer les étapes intermédiaires de son raisonnement. Si le raisonnement s’avère incorrect, vous pourrez alors le remettre sur le droit chemin en lui indiquant l’erreur et lui demandant de reprendre le raisonnement sur cette base.

Une variante qui combine les deux derniers principes consiste à fournir un ou plusieurs exemples de raisonnements avant de poser la vraie question, comme ceci :

Dialogue 4 : fourniture d’un exemple de raisonnement pour faciliter l’analyse

3. Persévérer et recommencer

Obtenir une bonne réponse du système doit être vu comme un processus itératif. Si le dialogue ne vous satisfait pas, relisez les principes ci-dessus et changez d’approche. Formalisez votre demande autrement, n’ hésitez pas à réutiliser certains éléments du dialogue précédent comme contexte pour un nouveau dialogue.

Vous voilà maintenant armé pour aborder des cas concrets de résolution de problèmes, que nous aborderons dans les prochains articles.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.