Resumen con secciones personalizadas

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

Regiones disponibles

ID de región Summarization with custom sections v4.0 Summarization with custom sections v3.1/3.0 Summarization with custom sections v2.1 Summarization with custom sections v2.0/1.0
us-central1
us-east1
us-west1
us
northamerica-northeast1
europe-west1
europe-west2
europe-west3
asia-southeast1
asia-northeast1
asia-south1
australia-southeast1
global

También puedes escribir tus propias definiciones de tareas de resumen en secciones personalizadas.

Secciones predefinidas

Esta función ofrece seis secciones predefinidas entre las que puedes elegir:

  • Situación: se trata de la cuestión sobre la que el cliente necesita ayuda o tiene dudas. Se ofrece y se recomienda la opción de personalizar un resumen conciso.

  • Acción: se define como lo que hace el agente para ayudar al cliente. Se ofrece y se recomienda la opción de personalizar un resumen conciso.

  • Resolución: hay cuatro opciones.

    • Y: Sí. Se han resuelto todos los problemas y las consultas de los clientes.
    • P: parcial. Solo se han resuelto algunos de los problemas y consultas de varios clientes.
    • N: No. No se ha resuelto ninguno de los problemas ni las consultas de los clientes.
    • No aplicable: el cliente no ha planteado ningún problema ni consulta específicos en la conversación.
  • Satisfacción del cliente: las opciones son "Insatisfecho" o "Satisfecho".

    • D: El cliente no está satisfecho o tiene sentimientos negativos al final de la conversación.
    • N: El cliente tiene una actitud neutra o positiva al final de la conversación.
  • Motivo de la cancelación: motivo de la cancelación si el cliente la solicita. N/A en caso contrario.

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

Crear un generador de resúmenes

Consola

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 Resumen y selecciona Generador.

    Ir a Resumen

  2. Introduce el nombre del generador.

  3. Seleccione la versión del generador.

  4. Selecciona el idioma de salida.

  5. Selecciona las secciones de Secciones predefinidas.

  6. Añade secciones en Secciones personalizadas: define nuevas tareas de resumen según sea necesario y, opcionalmente, añade ejemplos de pocos disparos para mejorar el resultado.

  7. Haz clic en Guardar.

REST

Para crear un generador de resúmenes con la API, sigue estos pasos:

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

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

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

  4. Introduce el evento de activación MANUAL_CALL.

  5. Selecciona secciones predefinidas y añade secciones personalizadas con ejemplos de pocas respuestas en SummarizationContext.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto de Cloud
  • LOCATION_ID: tu ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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"
  }
}

Probar un generador de resúmenes

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

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

Consola

  1. Una transcripción de la conversación. Puedes introducir las frases 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.

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. Con los pasos que se indican a continuación, se crea un ConversationProfile con un objeto HumanAgentAssistantConfig.

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

Consola

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

  2. Introduce el nombre visible.

  3. Selecciona Resumen de conversaciones (generador) como tipo de sugerencia.

  4. Selecciona el nombre del generador en la lista.

REST

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

  2. Asigna un nombre al nuevo perfil de conversación.

  3. Introduce el código de idioma.

  4. Introduce el nombre del generador en human_agent_suggestion_config.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto de Cloud
  • LOCATION_ID: tu ID de ubicación
  • CONVERSATION_PROFILE_ID: el ID de tu perfil de conversación
  • GENERATOR_ID: tu ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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"
}

Verificar con el simulador

Puedes verificar el perfil de conversación en el simulador de Asistente para agentes.

Conversaciones en el tiempo de ejecución

En el tiempo de ejecución, cuando se inicia 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 que necesita asistencia. Para ver sugerencias, crea un participante humano y un participante agente, y añádelos a la conversación.

Crear una conversación

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

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto de Cloud
  • LOCATION_ID: tu ID de ubicación
  • CONVERSATION_PROFILE_ID: el ID que has recibido al crear 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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 tu nuevo ID de conversación.

Crear un usuario participante

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

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto de Cloud
  • LOCATION_ID: tu ID de ubicación
  • CONVERSATION_ID: tu ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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.

Crear un agente participante

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

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto de Cloud
  • LOCATION_ID: tu ID de ubicación
  • CONVERSATION_ID: tu ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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.

Analizar mensaje

Hay dos formas de analizar los mensajes:

  • Durante una conversación. Para añadir y analizar un mensaje de agente en la conversación, llama al método analyzeContent del recurso Participant. Proporciona el ID de conversación y el ID de participante del agente. Para añadir y analizar un mensaje de usuario de la conversación, llama al método analyzeContent en el recurso Participant. Proporciona el ID de conversación y el ID de participante. No hagas llamadas duplicadas al método analyzeContent si se ha llamado a otras funciones de Dialogflow.

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

Genera un resumen

Puedes recibir una sugerencia en cualquier momento para el último mensaje de cualquiera de los participantes.

  • Llama al método suggestConversationSummary en el recurso conversations.suggestions. Proporciona el ID de la conversación y el ID del último mensaje de cualquiera de los participantes.

  • Llama al método generateStatelessSuggestion. Proporcione el ConversationContext, el nombre del generador y el evento de activación, que debe ser MANUAL_CALL.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto de Cloud
  • LOCATION_ID: tu ID de ubicación
  • GENERATOR_ID: tu ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

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

La respuesta contiene el resumen.

Completar la conversación

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

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto de GCP
  • CONVERSATION_ID: el ID que recibiste al crear 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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