Puedes exportar el historial de conversaciones a BigQuery. Una vez configurado, todo el historial de conversaciones en vivo se escribe en tu tabla de BigQuery. Esto te proporciona herramientas de análisis avanzadas que pueden ayudarte a depurar y mejorar tu agente, y a descubrir patrones en los datos de las conversaciones.
Limitaciones
Se aplica la siguiente limitación:
- Se puede exportar un máximo de 500 turnos por cada conversación.
Permisos entre proyectos
Si tu agente de Dialogflow y los datos de BigQuery no están en el
mismo proyecto, la cuenta de servicio
asociada con tu proyecto de Dialogflow Google Cloud también debe tener el
permiso de IAM roles/bigquery.dataEditor para el conjunto de datos de BigQuery en
tu proyecto de BigQuery Google Cloud .
Formato de la cuenta de servicio: service-<dialogflow-project-number>@gcp-sa-dialogflow.iam.gserviceaccount.com
El usuario que configura la exportación en Dialogflow debe tener permisos en el proyecto de BigQuery. Si no lo hacen, el proyecto de BigQuery no aparecerá como una opción en la consola de Dialogflow.
El permiso mínimo requerido en el proyecto de BigQuery para que
el usuario lo vea en Dialogflow es resourcemanager.projects.get.
Como alternativa, puedes asignar uno de los siguientes roles predefinidos de Google Cloud que incluyen este permiso, pero no requieren que el usuario tenga acceso al conjunto de datos de BigQuery: roles/browser o roles/bigquery.metadataViewer.
Descripción de tabla
Cada fila de la tabla contiene un turno de conversación con las siguientes columnas:
| Columna | Tipo | Descripción |
|---|---|---|
| project_id | STRING | El ID del proyecto. |
| agent_id | STRING | Es el ID del agente. |
| conversation_name | STRING | Es el nombre del recurso completamente calificado para la sesión. |
| turn_position | INTEGER | Es el número de turno de la conversación. |
| request_time | TIMESTAMP | La hora del turno de conversación. |
| language_code | STRING | La etiqueta de idioma. |
| solicitud | JSON | Es la solicitud de detección de intents. |
| respuesta | JSON | Es la respuesta de la intención de detección. |
| partial_responses | JSON | Respuestas parciales, si corresponde |
| derived_data | JSON | Son metadatos adicionales para este turno de conversación. |
| conversation_signals | JSON | Son los datos de estadísticas relacionados con la NLU. Consulta ConversationSignals para ver el esquema JSON. |
| bot_answer_feedback | JSON | Comentarios sobre la respuesta, si se proporcionan |
Configuración
Para configurar la exportación del historial de conversaciones, haz lo siguiente:
- Asegúrate de que el historial de conversaciones esté habilitado.
- Sigue la guía de creación de conjuntos de datos de BigQuery para crear un conjunto de datos. Toma nota del nombre del conjunto de datos, ya que lo necesitarás en el siguiente paso.
Sigue la guía de creación de tablas de BigQuery para crear una tabla con una definición de esquema de SQL. Usa la siguiente instrucción de SQL para la creación:
CREATE TABLE <your_dataset_name>.dialogflow_bigquery_export_data( project_id STRING, agent_id STRING, conversation_name STRING, turn_position INTEGER, request_time TIMESTAMP, language_code STRING, request JSON, response JSON, partial_responses JSON, derived_data JSON, conversation_signals JSON, bot_answer_feedback JSON );Establece la configuración del agente para habilitar la exportación a BigQuery y proporcionar los nombres del conjunto de datos y de la tabla que creaste antes.