Os conetores de conhecimentos complementam as intenções definidas. Analisa documentos de conhecimento (por exemplo, Perguntas frequentes ou artigos) para encontrar respostas automáticas. Para as configurar, define uma ou mais bases de conhecimentos, que são coleções de documentos de conhecimentos.
Pode ativar as bases de conhecimentos para o seu agente, para que todos os pedidos de intenção de deteção possam encontrar respostas automáticas através das suas bases de conhecimentos. Em alternativa, pode especificar uma ou mais bases de conhecimentos nos seus pedidos individuais de deteção de intenção.
É comum um agente que usa conetores de conhecimento também usar intenções definidas. Os conectores de conhecimento oferecem menos precisão e controlo de respostas do que as intenções. Deve definir as suas intenções para processar pedidos complexos dos utilizadores e permitir que os conetores de conhecimentos processem pedidos simples.
Para ver uma lista dos idiomas suportados, consulte a coluna Knowledge Connectors na referência de idiomas.
Limitações
A funcionalidade de conetores de conhecimento só está disponível para a global
região.
Ative funcionalidades beta
Certifique-se de que as funcionalidades beta estão ativadas:
- Aceda à consola do Dialogflow ES.
- Selecione um agente.
- Clique no botão de definições settings junto ao nome do agente.
- Desloque a página para baixo no separador Geral e certifique-se de que a opção Funcionalidades beta está ativada.
- Se fez alterações, clique em Guardar.
Crie uma base de conhecimentos e um documento
Siga as instruções no guia de instruções das bases de conhecimentos para criar uma base de conhecimentos e um documento.
Definições para conetores de conhecimentos
Pode ativar ou desativar as bases de conhecimentos para o seu agente. As bases de conhecimentos ativadas são consideradas para todos os pedidos de correspondência de intenções que não especifiquem bases de conhecimentos. Para ativar ou desativar as bases de conhecimentos:
- Aceda à consola do Dialogflow ES.
- Selecione um agente.
- Clique em Conhecimento no menu da barra lateral do lado esquerdo.
- Selecione uma ou mais bases de conhecimentos da lista.
- Clique em Ativar ou Desativar.
Quando uma expressão do utilizador final também corresponde a uma intenção, pode especificar a intensidade com que prefere os resultados de conhecimentos:
- Desloque a página para baixo até à secção Ajustar preferência de resultados de conhecimentos.
- Ajuste o controlo de deslize de mais fraco (preferência dada à intenção) para mais forte (preferência dada ao conhecimento). Para mais informações, consulte a secção Respostas de deteção de intenções abaixo.
Configure respostas
Por predefinição, uma base de conhecimentos é configurada com uma única resposta de texto predefinida preenchida com a resposta de conhecimento mais adequada. Pode alterar esta resposta e adicionar mensagens de resposta avançadas. As respostas de conhecimento podem conter até três respostas por base de conhecimentos, e pode consultar estas respostas nas suas respostas configuradas. Para adicionar respostas:
- Na página Conhecimento, clique no nome da base de conhecimentos.
- Desloque a página para baixo até à secção Respostas e adicione respostas conforme pretendido:
- Quando definir a primeira resposta,
use
$Knowledge.Question[1]
e$Knowledge.Answer[1]
onde quer que a pergunta e a resposta sejam fornecidas. - O índice de
$Knowledge.Question
e$Knowledge.Answer
começa em 1, por isso, aumente este índice quando adicionar mais respostas.
- Quando definir a primeira resposta,
use
- Clique em Guardar quando terminar a edição.
Quando definir respostas, deve ter em atenção os seguintes pontos:
- Se o número de respostas definidas for superior ao número N de correspondências de respostas do conetor de conhecimentos, apenas são devolvidas N respostas.
- Uma vez que a precisão pode ser inferior à correspondência de intenções definidas explicitamente, recomendamos que devolva três respostas aos seus utilizadores sempre que possível.
Exemplo:
Detete a intenção com a base de conhecimentos
Quando faz um pedido de deteção de intenção, pode especificar uma ou mais bases de conhecimentos para uma possível resposta. O fornecimento explícito de bases de conhecimentos num pedido substitui as definições das bases de conhecimentos ativadas e desativadas.
Os exemplos abaixo mostram como usar a consola do Dialogflow, a API REST (incluindo a linha de comandos) ou as bibliotecas cliente para detetar a intenção.
Para usar a API, chame o método detectIntent
no tipo
Sessions
.
IU da Web
Pode interagir com o agente e receber respostas do conetor de conhecimentos através do simulador do Dialogflow:- Siga os passos acima para ativar uma base de conhecimentos.
- Siga os passos acima para definir as respostas.
- Escreva "Como me posso inscrever?" no simulador.
REST
Chame o métododetectIntent
no tipo Sessions
e especifique a base de conhecimentos no campo queryParams
.
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/v2beta1/projects/PROJECT_ID/agent/sessions/123456789:detectIntent
Corpo JSON do pedido:
{ "queryInput": { "text": { "text": "How do I sign up?", "languageCode": "en-US" } }, "queryParams": { "knowledgeBaseNames": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID"] } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ ... "queryResult": { "queryText": "How do I sign up?", "parameters": {}, "allRequiredParamsPresent": true, "fulfillmentText": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "intent": { "name": "projects/my-gcp-project/agent/intents/487c7242-a769-408a-a339-47b95e10dac4", "displayName": "Knowledge.KnowledgeBase.MzkzNTAyMDE3NDQxNDk3MDg4MA" }, "intentDetectionConfidence": 0.99371547, "languageCode": "en-us", "knowledgeAnswers": { "answers": [ { "answer": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "matchConfidenceLevel": "HIGH", "matchConfidence": 0.99371547 }, { "answer": "Certain types of content are not allowed on this service; please refer to the Terms of Services and Platform Policies for details. If you believe a piece of content is in violation of our policies, report it here (select See more products, then Google Cloud Storage and Cloud Bigtable).", "matchConfidenceLevel": "LOW", "matchConfidence": 0.0012244871 }, { "answer": "From the Cloud Storage documentation click \"Send feedback\" near the top right of the page. This will open a feedback form. Your comments will be reviewed by the Cloud Storage team.", "matchConfidenceLevel": "LOW", "matchConfidence": 0.0011537358 } ] } } }
Java
Para se autenticar no Dialogflow, 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.
Node.js
Para se autenticar no Dialogflow, 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.
Python
Para se autenticar no Dialogflow, 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.
Detete respostas de intenção
A resposta para o método detectIntent
do tipo Sessions
é um DetectIntentResponse
.
Vários fatores afetam a forma como os campos de resposta são preenchidos.
Se uma intenção definida e uma base de conhecimentos forem ambas potenciais correspondências,
a confiança da correspondência de cada uma e a preferência de resultados de conhecimentos
(consulte as Definições dos conetores de conhecimentos)
são usadas para determinar qual correspondência é a correspondência selecionada.
A correspondência selecionada é preenchida no campo DetectIntentResponse.queryResult
e outras potenciais correspondências são preenchidas no campo DetectIntentResponse.alternativeQueryResults
.
Ambos os campos contêm mensagens QueryResult
.
Se uma base de conhecimentos fornecer uma potencial correspondência:
QueryResult.knowledgeAnswers
é preenchido com uma lista de potenciais respostas de conhecimentos ordenadas por confiança de correspondência decrescente.- Se tiverem sido definidas respostas avançadas para a base de conhecimentos,
QueryResult.fulfillmentMessages
é preenchido com mensagens de respostas avançadas.
Quando faz um pedido de deteção de intenção,
é possível que a consulta de conhecimentos falhe.
Quando isto acontece, as intenções definidas são selecionadas,
pelo que o pedido de intenção de deteção geral não falha.
Pode encontrar informações sobre erros de consultas de conhecimentos no campo DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo
.
Faça a gestão das bases de conhecimentos
Para saber como gerir bases de conhecimentos, consulte o artigo Faça a gestão das bases de conhecimentos.