Uma base de conhecimento representa uma coleção de documentos de conhecimento fornecidos ao Dialogflow. Seus documentos de conhecimento contêm informações que podem ser úteis em conversas com usuários finais. Alguns recursos do Dialogflow usam bases de conhecimento ao procurar uma resposta para a expressão de um usuário final. Este guia descreve como criar e gerenciar as bases de conhecimento.
Uma base de conhecimento é aplicada no nível do agente.
Antes de começar
Faça o seguinte antes de ler este guia:
- Leia os Conceitos básicos do Dialogflow.
- Execute as etapas de configuração.
Criar uma base de conhecimento
Veja nos exemplos abaixo como usar o Console do Dialogflow, a API REST (incluindo a linha de comando) ou bibliotecas de cliente para criar uma base de conhecimento.
Para usar a API, chame o método create
no tipo KnowledgeBase
.
IU da Web
Use o console do Dialogflow para criar uma base de conhecimento:- Acesse o console do Dialogflow ES.
- Selecione um agente.
- Clique em Conhecimento no menu da barra lateral esquerda.
- Clique em Criar base de conhecimento.
- Digite o nome de uma base de conhecimento.
- Clique em Salvar.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto do GCP
- KNOWLEDGE_BASE_DISPLAY_NAME: nome desejado para a base de conhecimento
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases
Corpo JSON da solicitação:
{ "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA", "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
Anote o valor do campo name
.
Esse é o nome da nova base de conhecimento.
O segmento de caminho após knowledgeBases
é o novo ID da base de conhecimento.
Salve este ID para as solicitações abaixo.
Java
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Adicionar um documento à base de conhecimento
Sua nova base de conhecimento não tem documentos, por isso você deve adicionar um documento a ela. Veja abaixo na seção Conteúdo compatível uma descrição de todas as opções de conteúdo compatíveis. Você pode usar o documento das Perguntas frequentes do Cloud Storage para este exemplo.
Os exemplos abaixo mostram como usar o Console do Dialogflow, a API REST (incluindo a linha de comando) ou bibliotecas cliente para criar um documento de conhecimento.
Para usar a API, chame o método create
no tipo Document
.
IU da Web
Use o console do Dialogflow para criar um documento de conhecimento:- Se você não estiver seguindo as etapas acima,
navegue até as configurações da base de conhecimento e faça o seguinte:
- Acesse o console do Dialogflow ES.
- Selecione um agente.
- Clique em Conhecimento no menu da barra lateral esquerda.
- Clique no nome da base de conhecimento.
- Clique em Novo documento ou crie o primeiro.
- Digite o nome do documento.
- Selecione text/html em Tipo MIME.
- Selecione Perguntas frequentes em Tipo de conhecimento.
- Selecione URL como Fonte de dados.
- Insira https://cloud.google.com/storage/docs/faq no campo URL.
- Clique em CRIAR.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto do GCP
- KNOWLEDGE_BASE_ID: o código da base de conhecimento retornado pela solicitação anterior
- DOCUMENT_DISPLAY_NAME: nome do documento de conhecimento desejado
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents
Corpo JSON da solicitação:
{ "displayName": "DOCUMENT_DISPLAY_NAME", "mimeType": "text/html", "knowledgeTypes": "FAQ", "contentUri": "https://cloud.google.com/storage/docs/faq" }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA" }
O segmento de caminho após operations
é o ID da operação.
Java
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
A criação de um documento é uma operação de longa duração. Portanto, pode levar um tempo considerável para ser concluída. É possível pesquisar o status dessa operação para ver se ela foi concluída. Depois de concluída, a operação contém o ID do documento recém-criado. Salve esse ID para processamento futuro. Para mais informações, consulte Operações de longa duração.
Gerenciar documentos de conhecimento
Atualizar o conteúdo do documento de conhecimento
Se você atualizar seu conteúdo citado em um documento de conhecimento, talvez esse documento não seja atualizado automaticamente. Seu conteúdo será atualizado automaticamente se ele for fornecido como um URL público e você tiver marcado a opção Ativar recarregamento automático.
Para atualizar manualmente o Cloud Storage ou o conteúdo do documento
de URL público, chame o método
reload
no tipo
Document
.
Para atualizar manualmente o conteúdo bruto enviado,
use os métodos delete
e create
no tipo Document
para recriar seu documento.
Listar documentos de conhecimento
Você pode listar todos os documentos de conhecimento da sua base de conhecimento.
Para usar a API, chame o método list
no tipo Document
.
Excluir documentos de conhecimento
Você pode excluir os documentos de conhecimento da sua base de conhecimento.
Para usar a API, chame o método delete
no tipo Document
.
Se você não tiver o ID do documento, poderá listar os documentos conforme descrito acima.
Conteúdo permitido
Os seguintes tipos de documentos de conhecimento são compatíveis:
- Perguntas frequentes: o conteúdo do documento contém pares de perguntas e respostas na forma HTML ou CSV. Os formatos HTML de perguntas frequentes comuns são analisados com precisão, mas formatos incomuns podem não ser analisados. O CSV precisa ter perguntas na primeira coluna e respostas na segunda, sem cabeçalho. Devido a esse formato explícito, eles são sempre analisados com precisão.
- Controle de qualidade extrativo: documentos para os quais o texto não estruturado é extraído e usado para responder a perguntas.
A tabela a seguir mostra os tipos MIME permitidos em Tipo de conhecimento e Origem.
Tipo de conhecimento\origem | Arquivo enviado por upload (Document.content) (NÃO recomendado) | Arquivo enviado por upload (Document.raw_content) (recomendado) | Arquivo do Cloud Storage (Document.contentUri) | Arquivo do URL público (Document.contentUri) |
---|---|---|---|---|
Perguntas frequentes | text/csv | text/csv | text/csv | text/html |
Controle de qualidade extrativo | text/plain, text/html | text/plain, text/html, application/pdf | text/plain, text/html, application/pdf | N/A |
O conteúdo do documento tem os seguintes problemas conhecidos, limitações e práticas recomendadas:
Geral:
- Os arquivos de URLs públicos precisam ter sido rastreados pelo indexador do Google Search para que apareçam no índice de pesquisa. Verifique isso com o Google Search Console. O indexador não mantém o conteúdo atualizado. Você precisa atualizar explicitamente o documento de conhecimento quando o conteúdo de origem for alterado.
- Arquivos CSV precisam usar vírgulas como delimitadores.
- As pontuações de confiança ainda não estão calibradas entre as perguntas frequentes e os artigos da base de conhecimento. Portanto, se você usar os dois, o melhor resultado nem sempre será o mais alto.
- O Dialogflow remove tags HTML do conteúdo ao criar respostas. Por esse motivo, é melhor evitar tags HTML e usar texto simples quando possível.
- As respostas do Google Assistente têm um limite de 640 caracteres por balão de chat. Portanto, respostas longas são truncadas na integração com o Google Assistente.
- O tamanho máximo do documento é 50 MB.
- Ao usar arquivos do Cloud Storage, você precisa utilizar URIs públicos ou privados para acesso da sua conta de usuário ou de serviço.
Específico às perguntas frequentes:
- O CSV precisa ter perguntas na primeira coluna e respostas na segunda, sem cabeçalho.
- Use o CSV sempre que possível, porque ele é analisado com mais precisão.
- Conteúdo de HTML público com um único par de controles de qualidade não é permitido.
- O número de pares de controles de qualidade em um documento não deve exceder 2.000.
- Perguntas duplicadas com respostas diferentes não são aceitas.
- Use qualquer documento de perguntas frequentes: o analisador de perguntas frequentes pode processar a maioria dos formatos delas.
Específico ao controle de qualidade extrativo:
- O controle de qualidade extrativo é experimental. Ele é baseado em tecnologias semelhantes que foram executadas e testadas no Google em produtos como Pesquisa e Assistente. Envie-nos seu feedback sobre o funcionamento dele no Dialogflow.
- Um conteúdo com texto denso funciona melhor. Evite conteúdo com muitos parágrafos de frase única.
- Tabelas e listas não são permitidas.
- O número de parágrafos em um documento não pode exceder 2.000.
- Se um artigo for longo (mais de mil palavras), tente dividi-lo em vários artigos menores. Além disso, se abordar vários problemas, ele poderá ser dividido em artigos menores que abranjam problemas individuais. Porém, se o artigo abordar apenas um problema, concentre-o na descrição do problema e seja breve na resolução.
- O ideal é que apenas o conteúdo principal de um artigo seja fornecido (descrição e resolução do problema). Conteúdos extras como nome do autor, histórico de modificações, links relacionados e anúncios não são importantes.
- Tente incluir uma descrição dos problemas que um artigo pode ajudar a resolver e/ou exemplos de consultas que ele pode responder.
Como usar o Cloud Storage
Se seu conteúdo não for público, armazená-lo no Cloud Storage é a opção recomendada. Ao criar documentos de conhecimento, você deve fornecer os URLs dos seus objetos do Cloud Storage.
Como criar buckets e objetos do Cloud Storage
Ao criar o bucket do Cloud Storage:
- Verifique se selecionou o projeto do GCP que você usa para o Dialogflow.
- Verifique se a conta de usuário ou de serviço que você normalmente usa para acessar a API Dialogflow tem permissões de leitura nos objetos do bucket.
- Use a classe Armazenamento padrão.
- Defina o local do bucket como o local mais próximo de você.
Você precisará do ID do local (por exemplo,
us-west1
) para algumas chamadas da API. Portanto, lembre-se de sua escolha.
Siga as instruções do guia de início rápido do Cloud Storage para criar um bucket e fazer o upload de arquivos.
Como fornecer um objeto do Cloud Storage para um documento de base de conhecimento
Para fornecer seu conteúdo:
- Crie uma base de conhecimento como descrito acima.
- Crie um documento de conhecimento conforme descrito acima.
Ao chamar o método
create
no tipoDocument
, definacontentUri
como o URL do seu documento do Cloud Storage. O formato desse URL égs://bucket-name/object-name
.