A funcionalidade de sugestão de artigos do Agent Assist acompanha uma conversa entre um agente humano e um utilizador final, e fornece ao agente humano sugestões de documentos relevantes. Um agente humano pode examinar estas sugestões enquanto a conversa prossegue e tomar uma decisão sobre que documentos ler ou partilhar com o utilizador final. Pode usar a sugestão de artigos para ajudar um agente humano a compreender e resolver os problemas do utilizador final enquanto o agente humano e o utilizador final estão numa conversa.
O Agent Assist oferece modelos de sugestão de artigos básicos que pode usar para sugerir artigos aos seus agentes. Opcionalmente, pode formar um modelo personalizado com os seus próprios dados de conversas carregados para melhorar o desempenho. Se quiser formar um modelo de sugestões personalizado para utilização com a sugestão de artigos, contacte o seu representante da Google.
Este documento explica o processo de utilização da API para implementar a sugestão de artigos e receber sugestões desta funcionalidade durante o tempo de execução. Tem a opção de usar a consola do Agent Assist para testar os resultados da sugestão de artigos durante o tempo de design, mas tem de chamar a API diretamente durante o tempo de execução. Consulte a secção de tutoriais para ver detalhes sobre o teste do desempenho das funcionalidades com a Agent Assist Console.
Antes de começar
Conclua o seguinte antes de começar este guia:
- Ative a API Dialogflow para o seu Google Cloud projeto.
Configure um perfil de conversa
Para receber sugestões do Agent Assist, tem de criar uma base de conhecimentos com os documentos carregados e configurar um perfil de conversa. Também pode realizar estas ações através da consola do Assistente do agente se preferir não chamar a API diretamente.
Crie uma base de conhecimentos
Antes de poder começar a carregar documentos, tem de criar uma base de conhecimentos
para os colocar. Para criar uma base de conhecimentos, chame o método create
no tipo KnowledgeBase
.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto da GCP
- KNOWLEDGE_BASE_DISPLAY_NAME: nome da base de conhecimentos pretendido
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases
Corpo JSON do pedido:
{ "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA", "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
O segmento do caminho após knowledgeBases
contém o novo ID da base de conhecimentos.
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Crie um documento de conhecimentos
Agora, pode adicionar documentos à base de conhecimentos. Para criar um documento na base de conhecimentos, chame o método create
no Document
tipo.
Definir
KnowledgeType
para ARTICLE_SUGGESTION
. Este exemplo usa um ficheiro HTML com informações de
devolução de encomendas
que foi carregado para um contentor do Cloud Storage partilhado publicamente. Quando configura a sugestão de artigos no seu próprio sistema, os documentos têm de estar num dos seguintes formatos. Consulte a documentação dos documentos de conhecimentos para ver mais informações
acerca das práticas recomendadas para documentos.
Formatos de documentos de conhecimentos:
- Um ficheiro armazenado num contentor do Cloud Storage. Pode especificar o caminho quando chama a API.
- O conteúdo de texto de um documento, que pode enviar num pedido de API.
- Um URL público.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto da GCP
- KNOWLEDGE_BASE_ID: o ID da base de conhecimentos devolvido pelo pedido anterior
- DOCUMENT_DISPLAY_NAME: desired knowledge document name
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents
Corpo JSON do pedido:
{ "displayName": "DOCUMENT_DISPLAY_NAME", "mimeType": "text/html", "knowledgeTypes": "ARTICLE_SUGGESTION", "contentUri": "gs://agent-assist-public-examples/public_article_suggestion_example_returns.html" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA" }
A resposta é uma operação de longa duração, que pode sondar para verificar a conclusão.
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Crie 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. Os passos seguintes criam um
ConversationProfile
com um objeto
HumanAgentAssistantConfig
. Também pode realizar estas ações através da consola do Agent Assist se preferir não chamar a API diretamente.
Recomendamos que defina um limite de confiança inicial de 0,44 (0,1 se estiver a usar o modelo de base antigo). Se necessário, pode aumentar o limite para além do intervalo recomendado. O aumento do limite resulta numa maior precisão e em resultados de cobertura mais baixos (menos sugestões); a diminuição do limite resulta numa menor precisão e numa cobertura mais elevada (mais sugestões).
As sugestões inline estão ativadas por predefinição. Opcionalmente, pode ativar as notificações do Cloud Pub/Sub quando configurar o perfil de conversa.
REST
Para criar um perfil de conversa, chame o métodocreate
no recurso ConversationProfile
.
noSmallTalk
: se true
, as sugestões não são acionadas após mensagens de conversa informal (como "olá", "como está?" e assim sucessivamente). Se false
, as sugestões são acionadas após mensagens de conversa informal.
onlyEndUser
: se for true
, as sugestões só são acionadas após as mensagens do utilizador final. Se false
, as sugestões são acionadas após as mensagens do utilizador final e do agente humano.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto da GCP
- KNOWLEDGE_BASE_ID: o ID da sua base de conhecimentos
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversationProfiles
Corpo JSON do pedido:
{ "name": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { "notificationConfig": {}, "humanAgentSuggestionConfig": { "featureConfigs": [ { "enableInlineSuggestion": true, "SuggestionTriggerSettings": { "noSmallTalk": true, "onlyEndUser": true, }, "suggestionFeature": { "type": "ARTICLE_SUGGESTION" }, "queryConfig": { "knowledgeBaseQuerySource": { "knowledgeBases": [ "projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID" ] } } } ] } }, "sttConfig": {}, "languageCode": "en-US" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { ... } }
O segmento do caminho após conversationProfiles
contém o novo ID do perfil de conversa.
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
(Opcional) Defina as definições de segurança
Tem a opção de definir parâmetros de segurança para resolver problemas como a ocultação e a retenção de dados. Para tal, tem de criar um recurso SecuritySettings
e, em seguida, associá-lo a um perfil de conversa através do campo securitySettings
.
As definições de segurança adicionadas a um perfil de conversa afetam o comportamento das mensagens de texto do Assistente do agente apenas. O comportamento do histórico de interações do Dialogflow é controlado pelas definições de segurança do Dialogflow, que pode definir através da consola do Dialogflow CX.
Processar conversas em tempo de execução
Crie uma conversa
Quando é iniciado um diálogo entre um utilizador final e um agente humano ou virtual, cria uma conversa. Para ver sugestões, também tem de criar um participante utilizador final e um participante agente humano, e adicioná-los à conversa. As secções seguintes explicam este processo.
Primeiro, tem de criar uma conversa:
REST
Para criar uma conversa, chame o métodocreate
no recurso Conversation
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto do Google Cloud
- LOCATION_ID: o ID da sua localização
- CONVERSATION_PROFILE_ID: o ID que recebeu quando criou o perfil de conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations
Corpo JSON do pedido:
{ "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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 do caminho após conversations
contém o novo ID da conversa.
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Crie um participante utilizador final
Tem de adicionar participantes utilizadores finais e agentes humanos à conversa para ver sugestões. Primeiro, adicione o participante utilizador final à conversa:
REST
Para criar um participante utilizador final, chame o método create
no recurso Participant
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto do Google Cloud
- LOCATION_ID: o ID da sua localização
- 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 do pedido:
{ "role": "END_USER", }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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 utilizador final.
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Crie um participante agente humano
Adicione um participante agente humano à conversa:
REST
Para criar um participante agente humano, chame o método create
no recurso Participant
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto do Google Cloud
- LOCATION_ID: o ID da sua localização
- 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 do pedido:
{ "role": "HUMAN_AGENT", }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "HUMAN_AGENT" }
O segmento do caminho após participants
contém o ID do novo participante agente humano.
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Adicione e analise uma mensagem do agente humano
Sempre que um dos participantes escrever uma mensagem na conversa, tem de enviar essa mensagem para a API para processamento. O Agent Assist baseia as suas sugestões na análise das mensagens do agente humano e do utilizador final. No exemplo seguinte, o agente humano inicia a conversa perguntando "Em que posso ajudar?". Ainda não foram devolvidas sugestões na resposta.
REST
Para adicionar e analisar uma mensagem de um agente humano na conversa, chame o método analyzeContent
no recurso Participant
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto da GCP
- CONVERSATION_ID: o ID da conversa
- PARTICIPANT_ID: o ID do participante do agente humano
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Corpo JSON do pedido:
{ "textInput": { "text": "How may I help you?", "languageCode": "en-US" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "How may I help you?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "HUMAN_AGENT", "createTime": "2020-02-13T00:01:30.683Z" }, "humanAgentSuggestionResults": [ { "suggestArticlesResponse": { "latestMessage": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "contextSize": 1 } } ] } } ] }
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Adicione uma mensagem do utilizador final e receba sugestões
Em resposta ao agente humano, o utilizador final diz "Quero devolver a minha encomenda". Desta vez, a resposta da API contém um documento sugerido com a respetiva pontuação de confiança associada. Anteriormente neste tutorial, adicionámos um documento de conhecimentos à base de conhecimentos e esse documento foi devolvido. As pontuações de confiança variam de 0 a 1. Os valores mais elevados indicam uma maior probabilidade de o documento ser relevante para a conversa. Também é devolvido um fragmento que contém os primeiros 100 carateres do documento. O fragmento pode ajudar um agente humano a determinar rapidamente se o documento é útil. Recomendamos que faculte estas informações ao seu agente humano, que pode optar por partilhar o documento recomendado com o utilizador final.
REST
Para adicionar e analisar uma mensagem do utilizador final para a conversa, chame o método
analyzeContent
no recurso
Participant
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto da GCP
- CONVERSATION_ID: o ID da conversa
- PARTICIPANT_ID: o ID do participante utilizador final
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Corpo JSON do pedido:
{ "textInput": { "text": "I want to return my order.", "languageCode": "en-US" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "I want to return my order.", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "END_USER", "createTime": "2020-02-13T00:07:35.925Z" }, "humanAgentSuggestionResults": [ { "suggestArticlesResponse": { "articleAnswers": [ { "title": "Return an order", "uri": "gs://agent-assist-public-examples/public_article_suggestion_example_returns.html", "snippets": [ "\u003cb\u003eReturn\u003c/b\u003e an \u003cb\u003eorder\u003c/b\u003e. Follow the steps below for Made-up Store \u003cb\u003ereturns\u003c/b\u003e. At this time, \nwe don't offer exchanges. In most cases, you can drop off \u003cb\u003ereturns\u003c/b\u003e at any Made-up\n ..." ], "metadata": { "title": "Return an order", "snippet": "\n \n\n\u003ch1\u003eReturn an order\u003c/h1\u003e \nFollow the steps below for Made-up Store returns. At this time, we do...", "document_display_name": "my-kdoc" }, "answerRecord": "projects/PROJECT_ID/answerRecords/ANSWER_RECORD_ID" } ], "latestMessage": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "contextSize": 2 } } ] }
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Conclua a conversa
Quando a conversa terminar, use a API para a concluir.
REST
Para concluir a conversa, chame o métodocomplete
no recurso conversations
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto da GCP
- CONVERSATION_ID: o ID que recebeu quando criou a conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" }
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Opções de pedidos de API
As secções acima mostram como criar um simples
ConversationProfile
para receber sugestões. As secções seguintes descrevem algumas funcionalidades opcionais que pode implementar durante uma conversa.
Notificações de sugestões do Pub/Sub
Nas secções anteriores, o
ConversationProfile
foi criado apenas com um assistente de agente humano. Durante a conversa, teve de chamar a API para receber sugestões depois de cada mensagem ter sido adicionada à conversa. Se preferir receber eventos de notificação para sugestões,
pode definir o campo notificationConfig
quando criar o perfil de conversa. Esta opção usa o Cloud Pub/Sub para enviar notificações de sugestões à sua aplicação à medida que a conversa avança e novas sugestões ficam disponíveis.