En esta guía se describen los enfoques recomendados para renderizar las salidas de la API Conversational Analytics en una interfaz de usuario (IU) mediante fuentes de datos de Looker.
Cuando un usuario consulta la API, la respuesta puede incluir pasos de razonamiento intermedios, además de la respuesta final. En esta guía se describe cómo renderizar respuestas de la API con diferentes niveles de detalle implementando una vista de respuesta principal y una vista de detalles completa:
- La vista de respuesta principal muestra directamente la respuesta a la pregunta del usuario. Esta vista ofrece una presentación concisa y no incluye detalles sobre el razonamiento del agente al principio.
- La vista de detalles muestra el proceso de razonamiento completo que sigue el agente para llegar a la respuesta final, incluidos todos los elementos de la vista de respuesta principal.
Un patrón de interfaz de usuario recomendado es mostrar la vista de respuesta principal de forma predeterminada y proporcionar un control de interfaz de usuario, como un botón o un interruptor, que permita a los usuarios cambiar a la vista de detalles completa. Aunque los detalles del razonamiento son útiles para validar la lógica, mostrarlos de forma predeterminada puede añadir información innecesaria para los usuarios que solo estén interesados en la respuesta final.
Vista principal de la respuesta
Para mostrar solo la respuesta directa final a la pregunta del usuario, sigue los pasos de esta sección. Esta vista se centra en el resultado final y excluye los pasos intermedios.
Directrices de renderización de mensajes del sistema
En la siguiente tabla se describen los mensajes del sistema que se consideran respuestas directas finales, así como recomendaciones sobre cómo renderizar estos mensajes.
| Mensaje del sistema | Directrices de renderización |
|---|---|
DataQuery |
Renderiza con el resultado asociado. Renderiza este mensaje solo en los casos en los que renderices el mensaje DataResult correspondiente. No renderices los mensajes DataQuery en los siguientes casos:
|
DataResult |
Renderiza todos los mensajes DataResult, excepto los resultados intermedios y vacíos.No renderices los mensajes DataResult en los siguientes casos:
|
ChartResult |
Renderiza todos los gráficos. Renderiza todos los mensajes ChartResult en la respuesta de la API. |
TextMessage |
Renderizar solo las respuestas finales. Renderiza los mensajes TextMessage solo cuando el valor de TextType es FINAL_RESPONSE. |
Ejemplo: renderizar la vista de respuesta principal
Puedes implementar un interruptor, como Mostrar razonamiento, para que los usuarios puedan cambiar de la vista de respuesta principal a la vista de detalles completa.

En la siguiente transcripción se muestra la vista principal de la respuesta. En el caso de los mensajes DataQuery, te recomendamos que ocultes los detalles de la consulta tras un interruptor insertado, indicado en la transcripción con un icono contraído (), para ofrecer acceso opcional a la lógica de la consulta subyacente.
Usuario: Compara las ventas totales del grupo Cymbal en el 2022 y el 2023. Representa el resultado en un gráfico.
Agente:
Aquí tienes el resultado de la consulta Ventas totales de Cymbal Group en el 2022 y el 2023.
Año de creación Ventas totales 2023 $96,627.00 2022 93.095,50 USD Ventas totales de Cymbal Group en el 2022 y el 2023
Las ventas totales de Cymbal Group en el 2022 fueron de 93.095,50 USD y, en el 2023, de 96.627,00 USD.
En la siguiente tabla se asignan los elementos de la interacción de ejemplo a los mensajes del sistema de la API correspondientes.
| Elemento | Mensaje de origen |
|---|---|
| Consulta generada (JSON oculto tras el botón de forma predeterminada) | DataQuery |
| Tabla de datos | DataResult |
| Gráfico de barras | ChartResult |
| Respuesta de texto final | TextMessage (FINAL_RESPONSE) |
Vista de detalles completa
Sigue estas directrices para mostrar el proceso de razonamiento completo. Esta vista incluye todo lo que aparece en la vista de respuesta principal y muestra el contenido y los pasos en el orden en el que los genera el agente. En esta vista se muestran todos los pasos que sigue el agente para llegar a la respuesta final, incluidos su razonamiento y los datos intermedios.
Directrices de renderización para el razonamiento y la obtención de datos granulares
En la siguiente tabla se describen los mensajes del sistema que representan el razonamiento del agente y los pasos de recuperación detallados, así como recomendaciones sobre cómo mostrar estos mensajes.
| Mensaje del sistema | Directrices de renderización |
|---|---|
TextMessage con un valor de TextType de THOUGHT |
Render reasoning steps. Muestra estos mensajes para que se vea el proceso de pensamiento interno del agente. Estos mensajes constan de dos partes:
parts[0]) como indicador de estado transitorio. |
TextMessage con un valor de TextType de PROGRESS |
Mostrar mensajes PROGRESS. Muestra estos mensajes para obtener información valiosa sobre las acciones del agente. Se trata de mensajes informativos sobre el progreso del agente, como una herramienta que se está invocando. Esto es distinto del proceso de reflexión interno del agente (THOUGHT) y de la respuesta final al usuario (FINAL_RESPONSE). Estos mensajes constan de dos partes:
|
DataQuery y DataResult con un nombre que termine en _sample_values |
Mostrar mensajes intermedios DataQuery y DataResult. Tanto los mensajes DataQuery como los DataResult con un campo name que termina en _sample_values son pasos intermedios para obtener datos granulares y no se muestran en la vista de respuesta principal. Inclúyelos en la vista de respuesta completa (detrás de un interruptor) para mostrar los pasos que sigue el agente. |
DataResult con un campo data vacío |
Mostrar solo el mensaje DataQuery asociado. No muestres mensajes DataResult con el campo data vacío en ninguna vista. En la vista de detalles completa, muestra el mensaje DataQuery que ha dado lugar al resultado vacío (detrás de un interruptor). De esta forma, el usuario puede ver la consulta que se ha ejecutado aunque no haya devuelto ningún resultado. El resumen de la respuesta final (TextMessage con el tipo FINAL_RESPONSE) ya habrá informado al usuario de que la consulta no ha devuelto ningún dato. |
Ejemplo: renderizar la vista de detalles completa
Cuando un usuario activa el interruptor Mostrar razonamiento, la interfaz de usuario muestra el razonamiento paso a paso del agente.

En la siguiente transcripción se muestra la vista de detalles completa, incluidos los pasos de razonamiento. En el caso de los DataQuery mensajes, los detalles de la consulta se pueden mostrar de forma predeterminada, opcionalmente detrás de un interruptor insertado indicado por un icono ampliado (), como se muestra en la transcripción.
Usuario: Compara las ventas totales del grupo Cymbal en el 2022 y el 2023. Representa el resultado en un gráfico.
Agente:
Información sobre el esquema
Para comparar las ventas totales de "Cymbal Group" en el 2022 y el 2023, tengo que consultar la exploración "Artículos de pedido". Filtraré por el nombre de producto "Cymbal Group" y por los años 2022 y 2023. A continuación, recuperaré los campos
Total SalesyCreated Year.Aquí tienes el resultado de la consulta Ventas totales de Cymbal Group en el 2022 y el 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"}} ]
Año de creación Ventas totales 2023 $96,627.00 2022 93.095,50 USD Representar la distribución de las ventas
He obtenido las ventas totales de "Cymbal Group" en el 2022 y el 2023. Ahora voy a generar un gráfico para visualizar esta comparación y, después, te daré la respuesta final.
Genera un gráfico de barras que compare las ventas totales de "Cymbal Group" en el 2022 y el 2023. El eje X debe representar el año y el eje Y, las ventas totales.
Las ventas totales de Cymbal Group en el 2022 fueron de 93.095,50 USD y, en el 2023, de 96.627,00 USD.
En la siguiente tabla se asignan los pasos de la interacción de ejemplo a los mensajes del sistema de la API correspondientes.
| Elemento | Mensaje de origen |
|---|---|
| "Interpretar el esquema" (resumen de la reflexión) | TextMessage (tipo THOUGHT, parts[0]) |
| "Para comparar las ventas totales..." (texto completo del pensamiento) | TextMessage (tipo THOUGHT, parts[1]) |
| Consulta generada (JSON que se muestra cuando se despliega el interruptor ) | DataQuery |
| Tabla de datos | DataResult |
| "Trazando la distribución de las ventas" (resumen de la reflexión) | TextMessage (tipo THOUGHT, parts[0]) |
| "He recuperado..." (texto completo del pensamiento) | TextMessage (tipo THOUGHT, parts[1]) |
| Gráfico de barras | ChartResult |
| Respuesta de texto final | TextMessage (FINAL_RESPONSE) |
