El modelo personalizado de Agent Assist Summarization para la función te permite proporcionar resúmenes de conversaciones a tus agentes después de que se complete cada conversación, aprovechando un modelo entrenado exclusivamente en datos específicos del cliente. Esto difiere de la personalización a través de un modelo de lenguaje grande, como se detalla en Resumen con secciones personalizadas. Los resúmenes ayudan a los agentes a crear sus notas de conversación y comprender el historial de comunicación del usuario final. Por ejemplo, un resultado de resumen sobre una conversación podría ser similar al siguiente:
También puedes importar un modelo de resumen personalizado de Agent Assist para usarlo con las conversaciones de CCAI Insights.
Antes de comenzar
- Asegúrate de que tus datos tengan el formato requerido. También tienes la opción de usar un conjunto de datos de muestra o probar la función con el modelo de resumen de demostración, sin necesidad de un conjunto de datos.
Entrena y, también, implementa un modelo de resumen con la API
Crea un conjunto de datos de conversación y, luego, importa transcripciones
Llama al método create
en el recurso ConversationDataset
para crear un conjunto de datos de conversación. Incluye la ruta de acceso al bucket de Cloud Storage que contiene los datos de tu transcripción para importarla al nuevo conjunto de datos de conversación.
Solicitud de ejemplo:
{ "displayName": "CONVERSATION_DATASET_NAME", "inputConfig": { "gcsSource": { "uris": ["gs://PATH_NAME/*"] } } }
La respuesta contiene un ID de conjunto de datos de conversación. Respuesta de muestra:
{ "done": true, "response": { "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.ConversationDataset", "name": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID", "displayName": "CONVERSATION_DATASET_NAME", "createTime": "2022-06-16T23:13:22.627380457Z" } }
Crea un modelo de conversación
Llama al método create
en el recurso ConversationModel
para crear un modelo de conversación de resumen. Cada proyecto tendrá hasta 120 horas de procesamiento de nodo para el entrenamiento cada mes y podrá ejecutar un trabajo de entrenamiento de forma simultánea.
Campos obligatorios:
datasets
: Proporciona un solo conjunto de datos que contenga los datos de transcripción que usaste para entrenar el modelo.summarizationModelMetadata
: Establece un objeto vacío o propaga el campo para anular el valor predeterminado.
Solicitud de ejemplo:
{ "displayName": "CONVERSATION_DATASET_NAME", "datasets": [{ "dataset": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID" }], "summarizationModelMetadata": { "trainingModelType": "SUMMARIZATION_MODEL" }, "languageCode": "en-US" }
La respuesta es una operación de larga duración que puedes sondear con GetOperation API
para verificar si se completó. El entrenamiento puede tardar varias horas. La respuesta muestra el estado y el ID del modelo.
Respuesta de ejemplo:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.CreateConversationModelOperationMetadata", "conversationModel": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID", "state": "TRAINING", "createTime": "2022-06-16T23:27:50Z" } }
Cómo evaluar un modelo de conversación
Una vez que se complete el entrenamiento de modelos, llama a la API de ListConversationModelEvaluations
para verificar la calidad del modelo.
En ListConversationModelEvaluationsRequest
, especifica el nombre del modelo que quieres verificar.
{ "parent": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a" }
ListConversationModelEvaluationsResponse
incluye una puntuación de Rouge-L para
evaluar el resumen automático.
{ "conversationModelEvaluations": [{ "name": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a/evaluations/c10ac25411a23fe1", "displayName": "Training Auto Generated Evaluation", "createTime": "2022-06-04T03:38:35.151096Z", "evaluationConfig": { }, "summarizationMetrics": { "rougel": 0.4474459 } }] }
Implementa un modelo de conversación
Una vez que se complete el entrenamiento de modelos, podrás implementarlo con la API de DeployConversationModel
.
En DeployConversationModelRequest
, especifica el name
del modelo que se implementará. La respuesta es una operación de larga duración que puedes sondear con GetOperation API
para verificar si se completó.
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
.
Crea un perfil de conversación
Para crear un perfil de conversación, llama al método create
en el recurso ConversationProfile
.
Proporciona un nombre para el nuevo perfil de conversación, el ID del proyecto de Google Cloudy el ID del modelo. En CreateConversationProfileRequest
, especifica el
modelo de conversación que se usará y la función de sugerencia que será
CONVERSATION_SUMMARIZATION
.
El siguiente es un ejemplo de JSON:
{ "displayName": "CONVERSATION_PROFILE_NAME", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [{ "suggestionFeature": { "type": "CONVERSATION_SUMMARIZATION" }, "conversationModelConfig": { "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID", } }] } }, "languageCode": "en-US" }
La respuesta es un objeto ConversationProfile
que contiene el perfil de conversación name
:
{ "name": "projects/PROJECT_ID/locations/global/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "CONVERSATION_PROFILE_NAME", "automatedAgentConfig": { }, "humanAgentAssistantConfig": { "notificationConfig": { }, "humanAgentSuggestionConfig": { "featureConfigs": [{ "suggestionFeature": { "type": "CONVERSATION_SUMMARIZATION" }, "conversationModelConfig": { } }] }, "messageAnalysisConfig": { } }, "languageCode": "en-US", "createTime": "2022-06-06T21:06:46.841816Z", "updateTime": "2022-06-06T21:06:46.841816Z", "projectNumber": "344549229138" }
Controla las conversaciones durante el tiempo de ejecución
Cuando comienza un diálogo entre un usuario final y un agente humano, se crea una conversación. En las siguientes secciones, se explica este proceso.
Crea una conversación
Para crear una conversación, llama al método create
en el recurso Conversation
.
La respuesta contiene el ID de tu conversación nueva.
Crea un participante de usuario final
Para crear un participante de usuario final, llama al método create
en el recurso Participant
. Proporciona tu ID de conversación y END_USER
para el campo role
.
El segmento de ruta después de participants
contiene el nuevo ID de participante del usuario final.
Crea un participante de agente humano
Para crear un participante de agente humano, llama al método create
en el recurso Participant
. Proporciona tu ID de conversación y HUMAN_AGENT
para el campo role
.
El segmento de ruta después de participants
contiene el nuevo ID de participante del agente humano.
Cómo analizar un mensaje
Opción 1: Durante una conversación
Para agregar y analizar un mensaje de agente humano para la conversación, llama al método analyzeContent
en el recurso Participant
. Proporciona el ID de la conversación y el ID del participante del agente humano.
Para agregar y analizar un mensaje del usuario final para la conversación, llama al método analyzeContent
en el recurso Participant
. Proporciona el ID de la conversación y el ID de participante del usuario final.
No realices llamadas duplicadas al método analyzeContent
si ya se llamó a otras funciones de Dialogflow.
Opción 2: 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.
Cómo obtener una sugerencia
Puedes obtener una sugerencia en cualquier momento para ver el mensaje más reciente de cualquiera de los participantes.
Opción 1: suggestConversationSummary
Llama al método suggestConversationSummary
en el recurso conversations.suggestions
. Proporciona el ID de la conversación y el ID de mensaje más reciente de cualquiera de los participantes.
Opción 2: generateStatelessSummary
Llama al método generateStatelessSummary
. Proporciona el Messages
de la conversación y el ID de mensaje más reciente de cualquiera de los participantes.
Este es un ejemplo de solicitud JSON para generateStatelessSummary
:
{ "statelessConversation": { "messages": [{ "content": "Hello, how can I help you today?", "languageCode": "en-US", "participantRole": "HUMAN_AGENT" }, { "content": "I would like to cancel my plan.", "languageCode": "en-US", "participantRole": "END_USER" }, { "content": "Okay, I have canceled your plan. Is there anything else that I can do to help you?", "languageCode": "en-US", "participantRole": "HUMAN_AGENT" }, { "content": "No, thank you.", "languageCode": "en-US", "participantRole": "END_USER" }, { "content": "Okay, have a great day!", "languageCode": "en-US", "participantRole": "HUMAN_AGENT" }], "parent": "projects/PROJECT_ID/locations/global" }, "conversationProfile": { "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [{ "suggestionFeature": { "type": "CONVERSATION_SUMMARIZATION" }, "conversationModelConfig": { "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID" } }] } }, "languageCode": "en-US" } }
La respuesta contiene Summarization
sugerencias.
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.