Afficher les réponses de l'agent pour les sources de données Looker

Ce guide décrit les approches recommandées pour afficher les résultats de l'API Conversational Analytics dans une interface utilisateur à l'aide de sources de données Looker.

Lorsqu'un utilisateur interroge l'API, la réponse peut inclure des étapes de raisonnement intermédiaires en plus de la réponse finale. Ce guide explique comment afficher les réponses de l'API avec différents niveaux de détail en implémentant une vue de réponse principale et une vue de détails complets :

  • La vue principale de la réponse affiche directement la réponse à la question de l'utilisateur. Cette vue présente les informations de manière concise et n'inclut pas de détails sur le raisonnement de l'agent au premier abord.
  • La vue détaillée affiche l'intégralité du processus de raisonnement suivi par l'agent pour arriver à la réponse finale, y compris tous les éléments de la vue principale de la réponse.

Un modèle d'UI recommandé consiste à afficher la vue de réponse principale par défaut et à fournir un contrôle d'UI, tel qu'un bouton ou un bouton bascule, qui permet aux utilisateurs de passer à la vue détaillée complète. Bien que les détails du raisonnement soient utiles pour valider la logique, les afficher par défaut peut ajouter des détails inutiles pour les utilisateurs qui s'intéressent principalement à la réponse finale.

Vue principale de la réponse

Pour n'afficher que la réponse directe finale à la question de l'utilisateur, suivez les étapes de cette section. Cette vue se concentre sur le résultat final et exclut les étapes intermédiaires.

Conseils pour l'affichage des messages système

Le tableau suivant décrit les messages système considérés comme des réponses directes finales, ainsi que des recommandations sur la façon de les afficher.

Message système Consignes de rendu
DataQuery Afficher avec le résultat associé. N'affichez ce message que si vous affichez le message DataResult correspondant.

N'affichez pas les messages DataQuery dans les cas suivants :
  • Le champ name du message DataQuery se termine par _sample_values (par exemple, products_brand_sample_values).
  • Le champ name du message DataResult correspondant se termine par _sample_values.
  • Le champ data du message DataResult correspondant est vide.
Nous vous recommandons de placer le texte de la requête dans un bouton bascule pour afficher la requête source à la demande. Par exemple, Conversational Analytics dans Looker utilise un contrôle "Comment ce résultat a-t-il été calculé ?".
DataResult Affichez tous les messages DataResult, à l'exception des résultats intermédiaires et vides.

N'affichez pas les messages DataResult dans les cas suivants :
  • Le champ name se termine par _sample_values. Il s'agit d'étapes intermédiaires pour récupérer des exemples de valeurs pour un champ spécifique.
  • Le champ data est vide. Ces résultats sont résumés dans la réponse TextMessage finale.
ChartResult Affichez tous les graphiques. Affichez tous les messages ChartResult dans la réponse de l'API.
TextMessage N'affiche que les réponses finales. N'affichez les messages TextMessage que lorsque la valeur TextType est FINAL_RESPONSE.

Exemple : Afficher la vue de réponse principale

Vous pouvez implémenter un bouton à bascule, tel que Afficher le raisonnement, pour permettre aux utilisateurs de passer de la vue de réponse principale à la vue d'informations complètes.

Bouton bascule "Afficher le raisonnement" en état réduit.

La transcription suivante montre la vue principale de la réponse. Pour les messages DataQuery, nous vous recommandons de masquer les détails de la requête derrière un bouton à bascule intégré, indiqué dans la transcription par une icône réduite (), afin de fournir un accès facultatif à la logique de requête sous-jacente.

Utilisateur : Compare les ventes totales du groupe Cymbal en 2022 et en 2023. Représente le résultat dans un graphique.

Agent :

Voici le résultat de la requête "Total des ventes Cymbal Group 2022 2023".

Année de création Total des ventes
2023 96 627,00 $
2022 93 095,50 $

Total des ventes du groupe Cymbal en 2022 et 2023

Graphique à barres comparant les ventes pour 2022 et 2023.

Les ventes totales du groupe Cymbal en 2022 s'élevaient à 93 095,50$ et à 96 627,00$ en 2023.

Le tableau suivant établit une correspondance entre les éléments de l'exemple d'interaction et les messages système de l'API correspondants.

Élément Message source
Requête générée (JSON masqué derrière le bouton  par défaut) DataQuery
Tableau de données DataResult
Graphique à barres ChartResult
Réponse textuelle finale TextMessage (FINAL_RESPONSE)

Vue détaillée

Utilisez ces conseils pour afficher l'intégralité du processus de raisonnement. Cette vue inclut tout le contenu de la vue de réponse principale et affiche le contenu et les étapes dans l'ordre dans lequel ils sont générés par l'agent. Cette vue affiche toutes les étapes suivies par l'agent pour arriver à la réponse finale, y compris son raisonnement et les données intermédiaires.

Conseils de rendu pour le raisonnement et la récupération de données précises

Le tableau suivant décrit les messages système qui représentent le raisonnement de l'agent et les étapes de récupération précises, ainsi que des recommandations sur la façon d'afficher ces messages.

Message système Consignes de rendu
TextMessage avec une valeur TextType de THOUGHT Affiche les étapes du raisonnement. Affichez ces messages pour montrer le processus de réflexion interne de l'agent. Ces messages comportent deux parties :
  • parts[0] est le résumé de la pensée, qui résume brièvement le texte complet de la pensée.
  • parts[1] correspond au texte complet de la pensée.
 Si votre application affiche des mises à jour de l'état (comme un indicateur de chargement ou une barre de progression), nous vous recommandons d'afficher le résumé de la réflexion (parts[0]) comme indicateur d'état transitoire.
TextMessage avec une valeur TextType de PROGRESS Affichez les messages PROGRESS. Affichez ces messages pour obtenir des informations sur les actions de l'agent. Il s'agit de messages informatifs sur la progression de l'agent, comme un outil en cours d'appel. Cela diffère du processus de réflexion interne de l'agent (THOUGHT) et de la réponse finale à l'utilisateur (FINAL_RESPONSE). Ces messages comportent deux parties :
  • parts[0] est le résumé.
  • parts[1] correspond au texte de progression complet.
DataQuery et DataResult avec un nom se terminant par _sample_values Affichez les messages intermédiaires DataQuery et DataResult. Les messages DataQuery et DataResult avec un champ name se terminant par _sample_values sont des étapes intermédiaires pour la récupération de données précises et ne s'affichent pas dans la vue principale des réponses. Incluez-les dans la vue de réponse complète (derrière un bouton bascule) pour afficher les étapes suivies par l'agent.
DataResult avec un champ data vide N'affichez que le message DataQuery associé. N'affichez pas les messages DataResult avec un champ data vide dans une vue. Dans la vue détaillée complète, affichez le message DataQuery qui a entraîné un résultat vide (derrière un bouton bascule). Cela permet à l'utilisateur de voir la requête qui a été exécutée, même si elle n'a donné aucun résultat. Le récapitulatif de la réponse finale (TextMessage avec le type FINAL_RESPONSE) aura déjà informé l'utilisateur que la requête n'a renvoyé aucune donnée.

Exemple : Afficher la vue détaillée complète

Lorsqu'un utilisateur bascule le bouton Afficher le raisonnement sur l'état développé, l'UI révèle le raisonnement pas à pas de l'agent.

Bouton bascule "Afficher le raisonnement" en état développé.

La transcription suivante montre la vue détaillée complète, y compris les étapes de raisonnement. Pour les messages DataQuery, les détails de la requête peuvent être affichés par défaut, éventuellement derrière un bouton d'activation intégré indiqué par une icône développée (), comme indiqué dans la transcription.

Utilisateur : Compare les ventes totales du groupe Cymbal en 2022 et en 2023. Représente le résultat dans un graphique.

Agent :

Comprendre le schéma

Pour comparer le total des ventes de "Cymbal Group" en 2022 et en 2023, je dois interroger l'exploration "Éléments de commande". Je vais filtrer par nom de produit "Cymbal Group" et par les années 2022 et 2023. Je récupérerai ensuite les champs Total Sales et Created Year.

Voici le résultat de la requête "Total des ventes Cymbal Group 2022 2023".

[
 {"model":"thelook","view":"order_items","fields":["order_items.total_sale_price","order_items.created_year"],
 "filters":{"order_items.created_year":"2022,2023","products.brand":"Cymbal Group"}}
]
Année de création Total des ventes
2023 96 627,00 $
2022 93 095,50 $

Représenter la répartition des ventes

J'ai récupéré le total des ventes de "Cymbal Group" pour 2022 et 2023. Je vais maintenant générer un graphique pour visualiser cette comparaison, puis fournir la réponse finale.

Génère un graphique à barres comparant le total des ventes de "Cymbal Group" en 2022 et 2023. L'axe X doit représenter l'année et l'axe Y les ventes totales.

Graphique à barres comparant les ventes pour 2022 et 2023.

Les ventes totales du groupe Cymbal en 2022 s'élevaient à 93 095,50$ et à 96 627,00$ en 2023.

Le tableau suivant établit une correspondance entre les étapes de l'exemple d'interaction et les messages système de l'API correspondants.

Élément Message source
"Comprendre le schéma" (résumé de la réflexion) TextMessage (type : THOUGHT, parts[0])
"Pour comparer le total des ventes…" (texte complet de la pensée) TextMessage (type : THOUGHT, parts[1])
Requête générée (JSON affiché lorsque le bouton  est développé) DataQuery
Tableau de données DataResult
"Représentation de la distribution des ventes" (résumé de la réflexion) TextMessage (type : THOUGHT, parts[0])
"J'ai récupéré…" (texte complet de la pensée) TextMessage (type : THOUGHT, parts[1])
Graphique à barres ChartResult
Réponse textuelle finale TextMessage (FINAL_RESPONSE)