Hé ChatGPT, écrivez un article de blog sur l'ingénierie rapide [Partie 2] | Mendix

Passer au contenu principal

Hey ChatGPT, écris un article de blog sur l'ingénierie rapide [Partie 2]

Dans cette série, nous examinons comment maîtriser l’art de créer des invites précises et efficaces grâce à la pratique et à l’expérimentation. Dans la première partie, nous avons abordé les différents types d'invites, les meilleures pratiques pour la création d'invites et les cinq principales techniques d'invite. Pour la deuxième partie, nous allons explorer l'invite de l'arbre de pensée ainsi que la façon de commencer à inviter, surtout si vous êtes novice en la matière.

Cas d'utilisation de l'invite de l'arbre de pensée

Le Application de démarrage de l'assistant d'assistance est une Mendix Application téléchargeable et adaptable à vos besoins. Elle utilise Génération augmentée de récupération (RAG) et l'appel de fonction pour se connecter à votre propre base de données, ce qui fait de ce cas d'utilisation un excellent exemple d'invite (pour l'instant, plus à venir !).

L'application Support Assistant a été créée pour démontrer comment GenAI peut être utilisée dans une entreprise en tant qu'assistant de support ciblant les employés confrontés à des questions liées à l'informatique. Elle fournit des solutions basées sur les données statiques ou sur des problèmes similaires antérieurs et crée un ticket d'assistance pour le service d'assistance informatique lorsque la demande ne peut pas être résolue uniquement par le chatbot. De même, si l'utilisateur a besoin d'une nouvelle licence ou d'un nouveau matériel, le bot peut ouvrir une nouvelle demande pour l'utilisateur et faciliter l'expérience. Pour plus d'informations, regardez l'animation ci-dessous.

Pour atteindre les capacités de l'application Support Assistant, neuf microflux de fonctions ont été créés que le LLM peut appeler pour aider à générer une réponse. Pour déterminer quelle fonction doit être traitée dans le scénario spécifique, l'invite joue un rôle crucial. Par conséquent, nous nous concentrerons sur les parties pertinentes de l'invite que nous vous encourageons à prendre en compte dans votre prochaine version enrichie de GenAI Mendix App

Pour lire l'intégralité de l'invite, veuillez télécharger l'application Support Assistant Starter et rechercher le TicketBot_ActionMicroflow microflux, situé dans le Créer une requête à partir de ChatContext activité et recherchez le Invite système dans les paramètres.

Pour commencer, il est essentiel d'attribuer un rôle au bot et de lui fournir des informations initiales. Dans l'exemple de l'application Support Assistant, nous lui attribuons le rôle d'un assistant ayant accès à une base de données privée pour les demandes de renseignements.

You are a helpful assistant supporting the IT department with employees' inquiries, such as support tickets, licenses (e.g., Mendix) or hardware (e.g., Computer) requests. 
Use the knowledge base and previous support tickets as a database to find a solution to the user’s request without disclosing sensitive details or data from previous tickets.

Ensuite, nous commençons à fournir quelques détails sur l’apparence du résultat souhaité, y compris la langue, le ton et le format.

The user expects direct, and clear answers from you. 
Use language that users who might not be familiar with advanced software or hardware usage can understand. 
The text will be rendered in markdown ...

Maintenant que le bot a sa « personnalité », nous passons aux instructions en utilisant l'arbre de pensées tel qu'il est affiché dans l'image ci-dessous. Pour cela, nous énumérons chaque scénario pour permettre au LLM de suivre plus facilement les instructions.

Par exemple, comme premier cas, nous considérons le demandes vagues ou incomplètes. Nous voulons empêcher le modèle d'IA d'interpréter la saisie de l'utilisateur, car il pourrait fournir une réponse erronée. Par conséquent, nous incluons :

Never assume the user’s issue based on a vague input. 
If the user’s input is not clear or seems incomplete, you must first ask the user for more details to clarify the problem...

Do not proceed to suggest solutions or actions until the user’s issue is clearly understood.

Certains de ces types de demandes peuvent être fournis, accompagnés d'exemples de réponses, tels que :

Example response: "Could you please provide more details about the issue you are experiencing?"

En option, vous pouvez limiter les sujets que le bot peut aborder en incluant les éléments suivants dans votre invite avec un exemple de réponse.

Avoid answering questions about cooking, music, or dancing. 
Example response: "Your request is not an IT topic. I am here to assist you on support ticket and new licenses or hardware matters."

Une fois les bases établies, nous pouvons adapter les directives au cas d'utilisation spécifique. Dans ce cas, l'uinstructions sur les demandes de Ser, où les demandes disponibles sont traitées.

There are two types of requests - requesting a new license or hardware, or IT support.

Par la suite, nous pouvons plonger en profondeur dans les instructions spécifiques à chaque demande et mentionner le nom de la fonction que le modèle doit appeler si l'exigence est remplie.

If the user asks for help with an issue (e.g., battery drain, connection problems, etc.), call the RetrieveStaticInformation function to provide a solution from the knowledge base.

L'inclusion d'une section alternative au cas où l'exigence ne serait pas satisfaite est le rôle de l'approche de l'arbre de pensée ici, comme le montre l'image ci-dessus. Dans l'exemple de l'application Support Assistant, chaque fois que la condition d'appel de la fonction spécifique n'est pas remplie, le LLM passe à la condition suivante jusqu'à ce qu'il ait une fonction précise à traiter.

Par exemple, si l’information ne se trouve pas dans le Récupérer des informations statiques fonction, elle continue d'appeler le Récupérer des billets similaires 1. Ce n'est que lorsque aucune des conditions ci-dessus ne correspond, qu'il passe à la fonction suivante et crée un nouveau ticket d'assistance. Étant donné que l'invite peut être une liste d'instructions, il est possible de référencer les commandes futures pour éviter que plusieurs répétitions d'instructions ne donnent lieu à une longue invite. Un exemple de cette référence est :

If none of the options above help the user, proceed to step 3 Handling New Support Tickets.

Le troisième étape, Qui met l'accent sur gestion des nouveaux tickets de support, peut à nouveau avoir une liste d'ordres à suivre par le modèle. Comme le montre la démonstration, le modèle d'IA facilite la création des nouveaux tickets. Par conséquent, vous pouvez ajouter des directives pour le modèle pertinentes pour cette étape, telles que :

Write the ticket description from the user’s perspective.
If you do not agree with an update request (e.g., the user wants to categorize a Miro license request as a hardware issue), explain to the user why you do not recommend that change. 
However, if the user insists, you can make the change.

Naturellement, vous souhaitez inclure certaines limitations ou règles à suivre à chaque fois, comme le montre le graphique Règles supplémentairesL'objectif de cette étape ne peut pas être inclus dans l'une des catégories mentionnées précédemment, car celles-ci sont considérées comme des règles plus générales que le bot doit suivre.

Par exemple, les limitations de l'application (c'est-à-dire si le bot n'a pas l'autorisation d'effectuer certaines activités, comme l'enregistrement ou la suppression d'un ticket, et doit informer l'utilisateur de le faire manuellement) ou la limitation de la fonction (c'est-à-dire que faire lorsque le bot n'est pas sûr de la fonction à appeler).

Cela peut paraître compliqué au début pour un nouveau venu, mais il est essentiel d'avoir une structure sur laquelle s'appuyer. Ainsi, chaque fois que de nouvelles fonctions, instructions ou règles doivent être ajoutées à l'invite, il est plus facile de les intégrer. Dans la section suivante, nous vous donnerons des conseils supplémentaires sur la façon de démarrer votre parcours.

Comment commencer : Invitez sans limites

Il peut être difficile de commencer à donner des instructions. Cependant, il existe quelques recommandations que vous pouvez suivre pour vous sentir plus en confiance dans ce parcours. Cela comprend :

Commencez petit et concentrez-vous sur l'expérimentation

Il n'existe pas de réponse parfaite dès le premier essai. Concentrez-vous sur l'écriture de quelques lignes pour avoir une idée de la façon dont le modèle d'IA répond à votre commande. Cela sera pertinent pour les étapes suivantes.

Trouvez un cas d'utilisation et collectez toutes les exigences

Sans avoir défini un cas d'utilisation ou sans connaître les attentes du LLM, il peut être difficile de simplement demander et d'attendre du modèle qu'il donne les bonnes réponses. Par conséquent, dressez une liste des exigences et des demandes.

Des scénarios à la création de messages

Il peut être utile de rédiger par écrit tous les scénarios du cas d'utilisation et de savoir ce que l'on attend de l'invite pour créer la première ébauche de l'invite. Tenez compte des types d'invites, des meilleures pratiques et, si nécessaire, des techniques d'invite.

Raffinement itératif (tests et encore tests)

Testez tous les scénarios écrits pour évaluer l'invite créée. Essayez d'écrire les questions sous plusieurs formes pour évaluer les réponses.

Examen externe

Pour améliorer encore le modèle, vous aurez peut-être besoin d'un retour d'information externe. Avoir un regard différent peut faire apparaître de nouveaux problèmes qui peuvent être traités dans l'invite.

Au cas où le résultat ne serait pas celui attendu

Il se peut que le modèle d'IA ne vous fournisse pas le résultat souhaité, mais ne vous inquiétez pas. Là où il y a un problème, il y a (la plupart du temps) une solution. En voici quelques-unes :

  • Changer la variante du modèle : La mise à jour du modèle vers des variantes supérieures peut avoir un impact important sur ses performances. Par exemple, choisir GPT4o plutôt que GPT3.5 peut être plus performant dans la plupart des tâches en raison de ses améliorations en termes d'architecture, de formation et de capacités globales.
  • Trouver des alternatives : Selon le cas d'utilisation, la recherche d'alternatives peut améliorer les performances en réorganisant, en simplifiant ou en réduisant le nombre d'instructions dans l'invite. Par exemple, dans les cas où l'appel de fonction est utilisé, la création d'une nouvelle fonction au lieu d'ajouter une nouvelle instruction à l'invite peut être une solution.
  • Test par étapes : Identifier les points faibles de votre invite est une autre alternative pour savoir pourquoi le résultat n'est pas celui attendu. En posant au LLM une série de questions pour chaque instruction donnée et en identifiant les points sur lesquels le modèle d'IA pourrait ne pas fonctionner, il peut être utile d'avoir un domaine d'amélioration ciblé.
  • Commencer à partir de « zéro » : Parfois, le fait de modifier le plan de l'invite sous un angle différent ou de modifier la technique de l'invite peut améliorer les performances. Par exemple, si l'ordre des instructions est modifié ou si vous décidez d'opter pour une approche à trois pensées.
  • Modifier la portée du projet : Bien que cela puisse être le moins souhaitable, si vous rencontrez de nombreux problèmes, il peut être judicieux de réajuster la portée du projet pour garantir l'exactitude des réponses. Par exemple, pour un projet comme l'application Support Assistant, vous pourriez avoir deux invites, l'une gérant les tickets d'assistance et l'autre les applications de licence ou de matériel.

Aller de l'avant : créer des incitations pour réussir

Avec toutes ces connaissances, vous pouvez commencer votre voyage d'ingénierie rapide et revisiter ce blog autant de fois que nécessaire pour obtenir des conseils et des astuces. Cela étant dit, n'hésitez pas à revisiter le Bonnes pratiques essentielles pour la création de messages rapides Nous en avons déjà parlé dans le premier article de cette série. Bonne chance !

Si vous travaillez sur votre propre cas d'utilisation GenAI et que vous avez besoin d'aide ou que vous souhaitez nous faire part de vos commentaires, nous serions ravis de vous entendre. Contactez votre responsable de la réussite client ou envoyez-nous un message dans le canal #genai-connectors dans la section Mendix Communauté Slack. Inscrivez-vous ici!

Ressources supplémentaires à consulter : Bibliothèque rapide.

Choisissez votre langue