Guider le comportement de l'agent avec un contexte créé

Cette page explique comment fournir au mieux un contexte créé à vos agents de données utilisant l'API Conversational Analytics en rédigeant des prompts efficaces à l'aide d'instructions système et, pour certaines sources de données, en fournissant également un contexte structuré. Bien que la fourniture d'un contexte créé soit facultative, un contexte créé bien structuré peut améliorer la justesse et la pertinence des réponses fournies par l'API.

Qu'est-ce qu'un contexte créé ?

Un contexte créé est une consigne que les développeurs peuvent fournir pour façonner le comportement d'un agent de données et affiner les réponses de l'API. Cette consigne inclut des instructions système de forme libre et, pour certaines sources de données, des champs de contexte structurés contenant des informations telles que des descriptions de tables et des exemples de requêtes. Pour répondre aux questions, l'agent combine ce contexte créé avec des informations provenant de sources de données (telles que des tables BigQuery, des explorations Looker, Looker Studio et des sources de données de base de données) et avec l'historique des conversations (pour les conversations multitours).

En fournissant des consignes claires via des champs contextuels structurés et des instructions système de forme libre, vous pouvez améliorer la capacité de l'agent à interpréter les questions des utilisateurs et à générer des réponses utiles et précises. Un contexte bien défini est particulièrement utile si vous vous connectez à des données telles que des tables BigQuery. Par exemple, vous pouvez utiliser un contexte créé pour fournir les types de consignes suivants à un agent :

  • Logique spécifique à l'entreprise : définis comme "fidèle" un client qui a effectué plus de cinq achats au cours d'une période donnée.
  • Mise en forme des réponses : résume toutes les réponses de l'agent de données en 20 mots ou moins pour faire gagner du temps aux utilisateurs.
  • Présentation des données : mets en forme tous les nombres pour qu'ils correspondent au guide de style de l'entreprise.

Fournir un contexte créé

Les informations spécifiques que vous pouvez fournir dépendent de votre source de données. Pour les données BigQuery, les données Looker, et les données de base de données, vous pouvez définir à la fois un contexte structuré et des instructions système. Pour obtenir les meilleurs résultats, commencez par fournir un contexte à l'agent via les champs structurés disponibles. Vous pouvez ensuite fournir des consignes supplémentaires en définissant des instructions système.

Vous fournissez un contexte structuré dans les champs d'API pour des détails tels que les descriptions de tables et les exemples de requêtes. Vous fournissez des instructions système sous la forme d'une chaîne au format YAML à l'aide du paramètre system_instruction.

Une fois que vous avez défini votre contexte créé, vous pouvez le fournir à l'API dans l'un des appels suivants :

Bonne pratique pour la création d'agents : utiliser le contrôle des versions pour le contexte créé

Utilisez les champs stagingContext, publishedContext et lastPublishedContext pour contrôler les versions de contexte lorsque vous créez des agents avec l'API Conversational Analytics. Le cas d'utilisation suivant illustre comment utiliser ces champs pour créer une version de préproduction et une version de production du contexte de l'agent.

Supposons que vous utilisiez un agent existant avec le champ publishedContext, mais que vous deviez le mettre à jour (par exemple, en remplaçant tous les graphiques bleus par des graphiques verts).

Pour apporter vos modifications et les tester avant de les publier, procédez comme suit :

  • Apportez les modifications à l'agent dans le champ stagingContext, puis testez l'agent avec les modifications.
  • Lorsque les modifications sont prêtes, mettez à jour le champ publishedContext avec les modifications apportées à stagingContext.
  • Vous pouvez revenir à l'ancien agent si nécessaire en remplaçant publishedContext par lastPublishedContext.