A síntese com seções personalizadas usa um LLM para resumir as conversas de atendimento ao cliente. O modelo recebe as conversas e as seções personalizadas, que são partes de comandos de texto que definem a tarefa que o modelo executa para gerar os resumos.
Também é possível escrever suas próprias definições de tarefas de resumo em seções personalizadas. As seções predefinidas e personalizadas são descritas em um gerador.
Seções predefinidas
Esse recurso oferece seis seções predefinidas, das quais você pode selecionar:
Situação. É o que o cliente precisa ou tem dúvidas.
Ação. É definido como o que o agente faz para ajudar o cliente.
Resolução. Há quatro opções.
- Y: Sim. Todos os problemas e consultas do cliente são resolvidos.
- P: Parcial. Apenas alguns dos vários problemas e consultas dos clientes são resolvidos.
- N: Não. Nenhum dos problemas e consultas do cliente foi resolvido.
- N/A: não há problemas ou dúvidas específicas levantadas pelo cliente na conversa.
Satisfação do cliente. As opções são "insatisfeito" ou "não insatisfeito".
- D: O cliente está insatisfeito ou tem sentimentos negativos no final da conversa.
- N: O cliente é neutro ou tem sentimentos positivos no final da conversa.
Motivo do cancelamento. Motivo do cancelamento se o cliente solicitar um cancelamento. N/A, caso contrário.
Entidades. Os pares de chave-valor de entidades importantes extraídos da conversa.
Criar um gerador de resumo
Console
Para criar um gerador de resumos usando o console do Agente Assist, faça o seguinte:
No console, acesse a página Summarization e selecione Generator.
Insira o nome do gerador.
Selecione a versão do gerador.
Selecione o idioma de saída.
Selecione as seções em Seções predefinidas.
Adicione seções em Seções personalizadas: defina novas tarefas de resumo conforme necessário, adicionando exemplos de poucas fotos para aprimoramento.
Clique em Salvar.
REST
Para criar um gerador de resumos usando a API, faça o seguinte:
Chame o método
CreateGenerator
do recurso Generator.Digite o nome do gerador no campo
description
.Insira o código do idioma de saída do gerador no campo
output_language_code
.Insira o evento acionador
MANUAL_CALL
.Selecione seções predefinidas e adicione seções personalizadas com exemplos de few-shot em SummarizationContext.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/generators
Corpo JSON da solicitação:
{ "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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" } }
Testar um gerador de resumos
No console, é possível testar o gerador na seção Test generator, conforme mostrado na imagem a seguir.
Para testar um gerador no console, faça o seguinte:
Console
Uma transcrição da conversa. Você pode inserir frases manualmente ou fazer upload de uma transcrição no formato JSON, conforme mostrado na imagem a seguir.
Clique em Gerar para mostrar o resumo.
Configurar um perfil de conversa
Um perfil de conversa configura um conjunto de parâmetros que controlam as
sugestões feitas a um agente durante uma conversa. As etapas a seguir criam um
ConversationProfile
com um objeto
HumanAgentAssistantConfig
.
Os exemplos a seguir mostram como criar um perfil de conversa.
Console
No Agent Assist Console, acesse a página Perfis de conversa.
Insira o nome de exibição.
Selecione Resumo de conversa (gerador) como o tipo de sugestão.
Selecione o nome do gerador na lista.
REST
Chame o método
create
do recurso de perfil de conversa.Dê um nome ao novo perfil de conversa.
Digite o código do idioma.
Insira o nome do gerador em human_agent_suggestion_config.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
- CONVERSATION_PROFILE_ID: o ID do seu perfil de conversa
- GENERATOR_ID: o ID do gerador
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles
Corpo JSON da solicitação:
{ "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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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 com o simulador
É possível verificar o perfil de conversa no simulador do Assistente do agente.
Conversas no ambiente de execução
No momento da execução, quando uma caixa de diálogo é iniciada entre um usuário e um agente, você cria uma conversa, que é uma interação entre um agente (humano ou virtual) e um cliente ou usuário de suporte. Para conferir as sugestões, crie um participante do usuário e um participante do agente e adicione-os à conversa.
Criar uma conversa
Para criar uma conversa,
chame o método create
no recurso
Conversation
.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
- CONVERSATION_PROFILE_ID: o ID que você recebeu ao criar o perfil de conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations
Corpo JSON da solicitação:
{ "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" }
O segmento de caminho após conversations
contém o novo ID da conversa.
Criar um participante do usuário
Para criar um participante do usuário, chame o
método create
no recurso
Participant
. Informe o ID da conversa e END_USER
para o campo role
.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
- CONVERSATION_ID: o ID da conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
Corpo JSON da solicitação:
{ "role": "END_USER", }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "END_USER" }
O segmento de caminho após participants
contém o novo ID do participante do usuário.
Criar um agente-participante
Chame o método create
no recurso
Participant
. Informe seu ID de conversa e HUMAN_AGENT
ou AUTOMATED_AGENT
para o campo role
.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
- CONVERSATION_ID: o ID da conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
Corpo JSON da solicitação:
{ "role": "HUMAN_AGENT", }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "HUMAN_AGENT" }
O segmento de caminho após participants
contém o novo ID do agente-participante.
Analisar mensagem
Há duas maneiras de analisar mensagens:
Durante uma conversa. Para adicionar e analisar uma mensagem do agente para a conversa, chame o método
analyzeContent
no recursoParticipant
. Informe o ID da conversa e o ID do agente-participante. Para adicionar e analisar uma mensagem do usuário na conversa, chame o métodoanalyzeContent
no recursoParticipant
. Informe o ID da conversa e o ID do participante. Não faça chamadas duplicadas para o métodoanalyzeContent
se ele tiver sido chamado para outros recursos do Dialogflow.Após uma conversa. Use essa opção se você não usar o método
analyzeContent
durante a conversa. Em vez disso, use o métodobatchCreate
no recursomessages
para processar mensagens históricas da conversa.
Gerar um resumo
Você pode receber uma sugestão a qualquer momento para a mensagem mais recente de qualquer participante.
Chame o método
suggestConversationSummary
no recursoconversations.suggestions
. Informe o ID da conversa e o ID da mensagem mais recente de cada participante.Chame o método
generateStatelessSuggestion
. Informe oConversationContext
, o nome do gerador e o evento de acionamento, que precisa serMANUAL_CALL
.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
- GENERATOR_ID: o ID do gerador
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/statelessSuggestion:generate
Corpo JSON da solicitação:
{ "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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "generatorSuggestion": { "summarySuggestion": { "summarySections": [ { "section": "situation", "summary": "customer wants to return an order." }, { "section": "resolution", "summary": "N" } ] } } }
A resposta contém o resumo.
Concluir a conversa
Para concluir a conversa, chame o método complete
no recurso
conversations
. Informe o ID da conversa.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto do GCP
- CONVERSATION_ID: o ID que você recebeu ao criar a conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" }
Versões anteriores
- Modelo de referência de resumo V2 para dados de chat e voz
- Modelo de referência V1 de resumo para chat e voz
- Modelo personalizado de resumo V1 para chat