Resumen con secciones personalizadas

El resumen con secciones personalizadas usa un LLM para resumir las conversaciones de atención al cliente. El modelo toma las conversaciones y las secciones personalizadas, que son partes de instrucciones de texto que definen la tarea que realiza el modelo, para generar los resúmenes.

También puedes escribir tus propias definiciones de tareas de resumen en secciones personalizadas. Las secciones predefinidas y personalizadas se describen en un generador.

Secciones predefinidas

Esta función proporciona seis secciones predefinidas, entre las que puedes elegir las siguientes:

  • Situación. Es el problema con el que el cliente necesita ayuda o sobre el que tiene preguntas.

  • Action. Se define como lo que hace el agente para ayudar al cliente.

  • Solución. Hay cuatro opciones.

    • Y: Sí. Se resolvieron todos los problemas y las consultas de los clientes.
    • P: Parcial. Solo se resuelven algunos de los múltiples problemas y consultas de los clientes.
    • N: No. No se resuelve ninguno de los problemas ni las consultas de los clientes.
    • N/A: El cliente no planteó problemas ni consultas específicas en la conversación.
  • Satisfacción del cliente: Las opciones son insatisfecho o no insatisfecho.

    • D: El cliente no está conforme o tiene sentimientos negativos al final de la conversación.
    • N: El cliente es neutral o tiene sentimientos positivos al final de la conversación.
  • Motivo de la cancelación. Motivo de la cancelación si el cliente solicita una cancelación. De lo contrario, es N/A.

  • Entidades. Los pares clave-valor de las entidades importantes extraídas de la conversación

Crea un generador de resúmenes

Console

Para crear un generador de resúmenes con la consola de Agent Assist, sigue estos pasos:

  1. En la consola, ve a la página Summarization y selecciona Generator.

    Ir a Resúmenes

  2. Ingresa el nombre del generador.

  3. Selecciona la versión del generador.

  4. Selecciona el idioma de destino.

  5. Selecciona las secciones en Secciones predefinidas.

  6. Agrega secciones en Secciones personalizadas: Define nuevas tareas de resumen según sea necesario y, de manera opcional, agrega ejemplos de pocas fotos para mejorarlas.

  7. Haz clic en Guardar.

REST

Para crear un generador de resúmenes con la API, haz lo siguiente:

  1. Llama al método CreateGenerator desde el recurso Generator.

  2. Ingresa el nombre del generador en el campo description.

  3. Ingresa el código de idioma de salida del generador en el campo output_language_code.

  4. Ingresa el evento de activación MANUAL_CALL.

  5. Selecciona secciones predefinidas y agrega secciones personalizadas con ejemplos limitados en SummarizationContext.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: El ID de tu ubicación

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/generators

Cuerpo JSON de la solicitud:

{
  "parent": "projects/PROJECT_ID/locations/LOCATION_ID",
  "description": "test",
  "triggerEvent": "MANUAL_CALL",
  "summarizationContext": {
    "summarizationSections": [{
      "type": "SITUATION"
    }, {
      "type": "ENTITIES"
    }, {
      "key": "custom_section",
      "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.",
      "type": "CUSTOMER_DEFINED"
    }],
    "version": "2.1",
    "outputLanguageCode": "en-US"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID",
  "description": "test",
  "inferenceParameter": {
    "maxOutputTokens": 1024,
    "temperature": 0.0,
    "topK": 40,
    "topP": 0.8
  },
  "triggerEvent": "MANUAL_CALL",
  "createTime": "2024-05-11T00:28:14.790937126Z",
  "updateTime": "2024-05-11T01:59:15.751724150Z",
  "summarizationContext": {
    "summarizationSections": [{
      "type": "SITUATION"
    }, {
      "type": "ENTITIES"
    }, {
      "key": "custom_section",
      "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.",
      "type": "CUSTOMER_DEFINED"
    }],
    "version": "2.1",
    "outputLanguageCode": "en-US"
  }
}

Prueba un generador de resúmenes

En la consola, puedes probar el generador en la sección Test generator, como se muestra en la siguiente imagen.

Para probar un generador en la consola, haz lo siguiente:

Console

  1. Una transcripción de la conversación Puedes ingresar oraciones de forma manual o subir una transcripción en formato JSON, como se muestra en la siguiente imagen.

  2. Haz clic en Generar para mostrar el resumen.

Cómo configurar un perfil de conversación

Un perfil de conversación configura un conjunto de parámetros que controlan las sugerencias que se le hacen a un agente durante una conversación. En los siguientes pasos, se crea un objeto ConversationProfile con un objeto HumanAgentAssistantConfig.

En los siguientes ejemplos, se muestra cómo crear un perfil de conversación.

Console

  1. En la consola de Agent Assist, ve a la página Perfiles de conversación.

  2. Ingresa el nombre visible.

  3. Selecciona Resumen de conversación (generador) como el tipo de sugerencia.

  4. Selecciona el nombre del generador de la lista.

REST

  1. Llama al método create desde el recurso de perfil de conversación.

  2. Proporciona un nombre para el nuevo perfil de conversación.

  3. Ingresa el código de idioma.

  4. Ingresa el nombre del generador en human_agent_suggestion_config.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: El ID de tu ubicación
  • CONVERSATION_PROFILE_ID: El ID de tu perfil de conversación
  • GENERATOR_ID: El ID de tu generador

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles

Cuerpo JSON de la solicitud:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "displayName": "conversation-profile-with-generator",
  "humanAgentAssistantConfig": {
    "humanAgentSuggestionConfig": {
      "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID"
    }
  },
  "languageCode": "en-US"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "displayName": "conversation-profile-with-generator",
  "humanAgentAssistantConfig": {
    "humanAgentSuggestionConfig": {
      "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID"
    }
  },
  "languageCode": "en-US"
}

Verifica con el simulador

Puedes verificar el perfil de conversación en el simulador de Agent Assist.

Conversaciones durante el tiempo de ejecución

Durante el tiempo de ejecución, cuando comienza un diálogo entre un usuario y un agente, se crea una conversación, que es una interacción entre un agente (humano o virtual) y un cliente o usuario de asistencia. Para ver las sugerencias, crea un participante de usuario y un participante de agente, y agrégalos a la conversación.

Crea una conversación

Para crear una conversación, llama al método create en el recurso Conversation.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: El ID de tu ubicación
  • CONVERSATION_PROFILE_ID: El ID que recibiste cuando creaste el perfil de conversación

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations

Cuerpo JSON de la solicitud:

{
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "lifecycleState": "IN_PROGRESS",
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "startTime": "2018-11-05T21:05:45.622Z"
}

El segmento de ruta después de conversations contiene el nuevo ID de tu conversación.

Crea un usuario participante

Para crear un usuario participante, llama al método create en el recurso Participant. Proporciona tu ID de conversación y END_USER para el campo role.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: El ID de tu ubicación
  • CONVERSATION_ID: El ID de tu conversación

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

Cuerpo JSON de la solicitud:

{
  "role": "END_USER",
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "END_USER"
}

El segmento de ruta después de participants contiene tu nuevo ID de usuario participante.

Crea un agente participante

Llama al método create en el recurso Participant. Proporciona tu ID de conversación y HUMAN_AGENT o AUTOMATED_AGENT para el campo role.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: El ID de tu ubicación
  • CONVERSATION_ID: El ID de tu conversación

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

Cuerpo JSON de la solicitud:

{
  "role": "HUMAN_AGENT",
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "HUMAN_AGENT"
}

El segmento de ruta después de participants contiene tu nuevo ID de agente participante.

Cómo analizar un mensaje

Existen dos maneras de analizar los mensajes:

  • Durante una conversación. Para agregar y analizar un mensaje del agente para la conversación, llama al método analyzeContent en el recurso Participant. Proporciona el ID de la conversación y el ID del agente participante. Para agregar y analizar un mensaje del usuario para la conversación, llama al método analyzeContent en el recurso Participant. Proporciona el ID de conversación y el ID de participante del usuario. No realices llamadas duplicadas al método analyzeContent si se llamó para otras funciones de Dialogflow.

  • Después de una conversación. Puedes usar esta opción si no usas el método analyzeContent durante la conversación. En su lugar, puedes usar el método batchCreate en el recurso messages para transferir los mensajes históricos de la conversación.

Genera un resumen

Puedes obtener una sugerencia en cualquier momento para ver el mensaje más reciente de cualquiera de los participantes.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: El ID de tu ubicación
  • GENERATOR_ID: El ID de tu generador

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/statelessSuggestion:generate

Cuerpo JSON de la solicitud:

{
  "parent": "projects/PROJECT_ID/locations/LOCATION_ID",
  "generatorName": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID",
  "conversationContext" {
    "messageEntries": [{
      "role": "HUMAN_AGENT",
      "text": "Hi, this is ABC messaging, how can I help you today?",
      "languageCode": "en-US"
    }, {
      "role": "END_USER",
      "text": "I want to return my order, it is broken",
      "languageCode": "en-US"
    }]
  },
  "triggerEvents": [
    "MANUAL_CALL"
  ]
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "generatorSuggestion": {
    "summarySuggestion": {
      "summarySections": [
        {
          "section": "situation",
          "summary": "customer wants to return an order."
        },
        {
          "section": "resolution",
          "summary": "N"
        }
      ]
    }
  }
}

La respuesta contiene el resumen.

Completa la conversación

Para completar la conversación, llama al método complete en el recurso conversations. Proporciona el ID de la conversación.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de GCP.
  • CONVERSATION_ID: El ID que recibiste cuando creaste la conversación

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID",
  "lifecycleState": "COMPLETED",
  "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "startTime": "2018-11-05T21:05:45.622Z",
  "endTime": "2018-11-06T03:50:26.930Z"
}

Versiones anteriores