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:
En la consola, ve a la página Resumen y selecciona Generador.
Introduce el nombre del generador.
Seleccione la versión del generador.
Selecciona el idioma de salida.
Selecciona las secciones de Secciones predefinidas.
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.
Haz clic en Guardar.
REST
Para crear un generador de resúmenes con la API, sigue estos pasos:
Llama al método
CreateGenerator
desde el recurso Generator.Escribe el nombre del generador en el campo
description
.Introduce el código del idioma de salida del generador en el campo
output_language_code
.Introduce el evento de activación
MANUAL_CALL
.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
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.
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
En la consola de Asistente, ve a la página Perfiles de conversación.
Introduce el nombre visible.
Selecciona Resumen de conversaciones (generador) como tipo de sugerencia.
Selecciona el nombre del generador en la lista.
REST
Llama al método
create
desde el recurso de perfil de conversación.Asigna un nombre al nuevo perfil de conversación.
Introduce el código de idioma.
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 recursoParticipant
. 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étodoanalyzeContent
en el recursoParticipant
. Proporciona el ID de conversación y el ID de participante. No hagas llamadas duplicadas al métodoanalyzeContent
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étodobatchCreate
en el recursomessages
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 recursoconversations.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 elConversationContext
, el nombre del generador y el evento de activación, que debe serMANUAL_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
- Modelo de referencia de Summarization V2 para datos de chat y de voz
- Modelo base de Summarization V1 para chat y voz
- Modelo personalizado de Summarization v1 para el chat