Chaque playbook doit contenir un ou plusieurs exemples. Ces exemples sont des conversations entre un utilisateur final et le playbook, y compris le dialogue et les actions effectuées par l'agent. Il s'agit en fait d'exemples de prompts few-shot pour le LLM.
La console fournit une interface permettant de saisir des actions.
Agents multilingues
Si votre agent gère plusieurs langues, utilisez chacune d'elles dans vos exemples.
Exemples de résumés d'entrée et de sortie
En plus des paramètres d'entrée et de sortie, les playbooks peuvent recevoir un résumé d'entrée et émettre un résumé de sortie pour échanger des informations avec d'autres playbooks. Les résumés sont utiles pour transmettre des informations contextuelles abstraites entre les playbooks, tandis que les paramètres sont plus utiles pour transmettre des champs structurés et bien définis entre les playbooks. Les paramètres sont le seul moyen d'échanger des données entre les flux et les playbooks.
Ajoutez des résumés d'entrée pertinents aux exemples pour aider le playbook à ajuster ses actions en fonction de ces résumés d'entrée au moment de l'exécution. Ajoutez des résumés de sortie qui incluent des détails pertinents et précis sur l'exemple de conversation pour indiquer au playbook les détails importants à résumer.
Exemple d'état
À un moment donné de la conversation, un playbook se trouve dans l'un des états suivants :
OK: le playbook a atteint son objectif et le contrôle est transféré au playbook parent.CANCELLED: l'utilisateur décide de ne pas poursuivre l'objectif attribué au playbook, et le contrôle est transféré au playbook parent. Si le playbook parent est un flux CX, Dialogflow CX détecte l'intent de l'entrée utilisateur avant l'exécution du flux.FAILED: le playbook ne peut pas atteindre l'objectif en raison d'une erreur (par exemple, un outil renvoie une erreur 500). La session se termine avec l'état "Échec". Un message EndInteraction est ajouté à la réponse.ESCALATED: le playbook décide qu'il ne peut pas atteindre l'objectif et qu'il doit transmettre la situation à un humain. La session se termine avec l'état "escalated". Un message EndInteraction est ajouté à la réponse.PENDING: la conversation se poursuit dans le playbook.
Vous devez indiquer l'exemple de premier niveau et ses appels de playbook avec un état correspondant au playbook auquel ils font référence.
Stratégie de sélection
Le paramètre de stratégie de sélection détermine si un exemple est inclus dans le prompt envoyé au LLM pour le playbook.
Les options suivantes sont disponibles :
- Sélectionner de manière dynamique : l'exemple est inclus de manière conditionnelle en fonction de sa pertinence pour le contexte de la conversation en cours. Vous pouvez omettre l'exemple si la requête approche de la limite de jetons.
- Toujours sélectionner : l'exemple est toujours inclus, quel que soit le contexte de la conversation. Vous pouvez omettre l'exemple si la requête approche de la limite de jetons.
- Jamais : l'exemple n'est pas inclus dans le prompt. L'exemple n'a aucun effet sur les performances du playbook. Ce paramètre est utile pour exclure temporairement un exemple à des fins de test.
Ajouter une action
Un exemple fourni dans un playbook contient une série d'actions. Ces actions peuvent varier, mais elles décrivent principalement l'interaction entre vous et le playbook, ainsi que les actions effectuées entre-temps pour répondre à votre requête ou à vos exigences.
Vous pouvez ajouter des actions à un exemple de deux manières :
- Pour ajouter une action manuellement, cliquez sur le bouton + en bas du volet de droite ou sur le bouton Ajouter une action lorsque vous pointez sur des actions existantes. Utilisez ces options lorsque vous créez un exemple en cliquant sur l'option + Exemple ou lorsque vous modifiez un exemple existant.
- Pour générer automatiquement des actions en fonction des instructions du playbook existant, saisissez une entrée utilisateur dans le champ Saisir une entrée utilisateur en bas du volet de droite. Utilisez cette option lorsque vous créez ou modifiez un exemple. Vous pouvez également utiliser cette option lorsque vous testez votre playbook au moment de l'exécution dans le volet Prévisualiser le playbook à droite. Pour enregistrer des actions dans un exemple à partir du volet Prévisualiser le playbook, cliquez sur Enregistrer l'exemple après avoir sélectionné l'appel du playbook dans la liste des appels à gauche du volet Prévisualiser le playbook.
Vérifiez l'exactitude des actions générées automatiquement et modifiez-les si nécessaire. C'est particulièrement important pour les playbooks qui comportent peu ou pas d'exemples.
Le playbook est compatible avec les types d'actions suivants.
Réponse du playbook
Fournit la réponse du playbook à la requête de l'utilisateur.
Entrée utilisateur
Saisissez la requête utilisateur.
Utilisation d'outils
Obtenez les informations supplémentaires nécessaires pour répondre à la requête de l'utilisateur en appelant un outil.
Cette action spécifie les détails suivants :
- Outil : nom de l'outil que vous devez appeler.
- Action : nom de l'opération pour l'outil OpenAPI que vous devez appeler. Pour les outils de datastore et les outils de fonction, le nom de l'action est identique au nom de l'outil.
Entrée de l'outil : entrées à inclure dans l'appel d'outil. Ces entrées sont généralement dérivées des tours de conversation précédents avec l'utilisateur.
Pour les outils OpenAPI, le format JSON
requestBodyest requis pour les types de méthodesPOST,PUTetPATCH.Exemple d'entrée d'outil OpenAPI
requestBodypour l'action createPet :{ "id": 1, "name": "Luna" }Pour l'outil de data store, l'exemple
requestBodymontre où la requête est obligatoire et où les autres champs sont facultatifs :{ "query": "Where is my nearest store?", "filter": "country: ANY(\"United States\")", "userMetadata": { "userCity": "San Francisco", }, "fallback": "We don't have any stores in your area." }Sortie de l'outil : réponse de l'appel de l'outil. Il s'agit d'une réponse JSON valide de l'outil à l'entrée donnée. Pour les outils OpenAPI, il peut également s'agir d'une erreur de chaîne (par exemple, "404 Introuvable").
Exemple de résultat de l'outil OpenAPI pour l'action listPets :
{ "pets": [ { "id": 1, "name": "Luna" }, { "id": 2, "name": "Charlie" }] }Exemple de résultat de l'outil de data store pour la requête "Où se trouve le magasin le plus proche ?" :
{ "answer": "Here's the address to your nearest store ...", "snippets": [ { "title": "San Francisco Downtown", "uri": "https://www.example.com/San_Francisco_Downtown", "text": "Address for San Francisco Downtown .." } ] }
Pour vous assurer que le playbook est infaillible, incluez des exemples de la façon dont il réagit en cas d'échec de l'appel d'un outil. Vous pouvez représenter l'échec de l'appel de l'outil OpenAPI sous la forme d'une chaîne d'erreur ("404 not found") dans la sortie de l'outil. Pour les outils de datastore, vous pouvez utiliser l'entrée fallback pour spécifier comment répondre s'il n'y a pas de réponse résumée.
Si vous souhaitez que votre outil de datastore inclue un URI dans la réponse du playbook, ajoutez des exemples contenant l'URI que vous souhaitez que le playbook renvoie. Si cet URI provient de l'outil de datastore, la sortie de l'outil de datastore doit contenir un URI correspondant à l'URI de la réponse du playbook.
Les exemples contenant des actions d'utilisation d'outils peuvent être assez longs et augmenter la consommation de la limite de jetons d'entrée. Pour utiliser les jetons efficacement, assurez-vous que les sorties des outils sont concises et contiennent des informations pertinentes pour les objectifs du playbook. Pour les outils de datastore, envisagez de supprimer les extraits des exemples, car ils entraînent une consommation élevée de jetons d'entrée.
Appel de playbook
Utilisez cette action lorsque le playbook doit appeler un autre playbook de tâche pour répondre à la requête de l'utilisateur.
Spécifiez les informations suivantes pour cette action :
- Playbook : nom du playbook à appeler.
- Résumé des entrées d'appel du playbook : résumé des parties pertinentes de la conversation précédente qui sont utiles au playbook appelé.
- Paramètres d'entrée : paramètres d'entrée à transmettre au playbook.
- Résumé du résultat de l'appel du playbook : résumé de ce que le playbook doit générer une fois son objectif atteint.
- Paramètres de sortie : paramètres de sortie générés par le playbook une fois son objectif atteint.
Transition de playbook
Une action de transition de playbook est une action finale qui ne doit pas être suivie d'autres actions. Elle indique que le playbook de routine a décidé de se fermer et de passer à un playbook de routine cible. Comme cette action indique que le playbook se termine, ajoutez les paramètres de sortie du playbook à la sortie du playbook de l'exemple.
Appel de flux
Cette action est utilisée lorsque le playbook de la tâche doit appeler un flux.
Cette action doit spécifier les détails suivants :
- Flux : nom du flux à appeler.
- Paramètres d'entrée du flux : paramètres d'entrée à transmettre au flux.
- Paramètres de retour du flux : paramètres de sortie renvoyés par le flux.
Transition de flux
Une action de transition de flux est une action finale qui ne doit pas être suivie d'autres actions. Elle indique que le playbook de routine a décidé de quitter le flux actuel et de passer à un flux cible. Comme cette action indique que le playbook se termine, ajoutez les paramètres de sortie du playbook à la sortie du playbook de l'exemple.