Exportación del historial de conversaciones a BigQuery

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:

  1. Asegúrate de que el historial de conversaciones esté habilitado.
  2. 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.
  3. 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
    );
    
  4. 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.