As ferramentas de repositório de dados podem fornecer respostas de agentes geradas por IA com base no conteúdo do site e nos dados enviados. Seu agente pode encontrar respostas para as perguntas dos usuários finais nos repositórios de dados durante o fulfillment.
Ferramentas do repositório de dados: console
Nesta seção, mostramos como adicionar uma ferramenta de repositório de dados a um agente e configurá-la em um atendimento.
Criar uma ferramenta de repositório de dados
- Abra o console do Conversational Agents e escolha um projeto do Google Cloud.
- Selecione um agente no menu suspenso.
- Navegue até a barra de menu no canto esquerdo da página e selecione Ferramentas.
- Para criar uma nova ferramenta de repositório de dados, clique em + Criar. Insira um Nome exclusivo para a ferramenta e selecione Repositório de dados no menu suspenso em Tipo. Se quiser, insira uma descrição da ferramenta no campo Descrição.
- Console do Conversational Agents: em Repositórios de dados, clique em Adicionar repositórios de dados para adicionar um ou mais repositórios preexistentes à ferramenta ou Criar repositório de dados para adicionar um novo. Se você criar um novo repositório de dados, um menu de tipos de repositórios vai aparecer. As opções Site, Cloud Storage (perguntas frequentes) e Cloud Storage (dados não estruturados) podem ser concluídas no console dos agentes de conversa. Se você escolher outro tipo, será redirecionado automaticamente para o console dos Aplicativos de IA para criar o repositório de dados: Console dos Aplicativos de IA
- Console do Dialogflow CX: em Repositórios de dados, clique em Adicionar repositórios de dados. A janela pop-up contém uma lista dos seus repositórios de dados atuais, se houver. Escolha os repositório de dados que você quer adicionar à ferramenta. Para criar um repositório de dados no console de aplicativos de IA, clique em Criar novo repositório de dados. Vamos redirecionar você automaticamente para os Aplicativos de IA: Console dos Aplicativos de IA
- Depois de configurar o novo repositório de dados, clique em Criar. Se você criou um repositório de dados no console dos Agentes de conversa (Dialogflow CX), ele vai aparecer na lista de repositórios de dados. Se você criou um repositório de dados em Aplicativos de IA, volte ao menu Criar ferramenta que está configurando no console de Agentes de conversação (Dialogflow CX) e atualize a página. O novo repositório de dados vai aparecer na lista de repositórios disponíveis.
- Clique em Salvar na parte de cima da configuração Criar ferramenta para criar a nova ferramenta de repositório de dados.
- Para mais informações sobre outras opções de configuração da ferramenta de repositório de dados, consulte a página de configurações do repositório de dados.
Adicionar a ferramenta de repositório de dados a um fulfillment
- Na barra de menu à esquerda, selecione Fluxos.
- Selecione um fluxo e uma página e clique na Rota da página que você quer usar com o repositório de dados.
- No menu Rota, role até Atendimento > Ferramenta de repositório de dados. Selecione sua ferramenta de repositório de dados no menu suspenso.
- No menu Rota, role a tela até Atendimento > Respostas do agente. Clique em +Adicionar resposta de diálogo e em Resposta da ferramenta de repositório de dados.
- No formulário que aparece, você pode configurar quantos links de origem e citações podem aparecer na resposta, além de especificar o comportamento de substituição se a resposta do repositório de dados estiver vazia. Você pode inserir uma resposta alternativa estática no campo Respostas alternativas estáticas. Se quiser, clique na caixa de seleção Substituição generativa para tentar usar a IA e gerar uma resposta antes de usar a resposta de substituição estática. Se você precisar de mais personalização nas respostas alternativas, clique no ícone de chave de boca no canto superior esquerdo da janela do formulário Resposta do repositório de dados para abrir a janela Resposta condicional.
- Na parte de cima do menu Trajeto, clique em Salvar.
- Acesse o simulador de agentes de conversação (Dialogflow CX) para testar os resultados do agente.
Ferramentas de repositório de dados: API
Por padrão, o agente vai ligar para o
dataStoreTool
em seu nome.
Há três tipos de repositório de dados:
PUBLIC_WEB
: um repositório de dados que contém conteúdo público da Web.UNSTRUCTURED
: um repositório de dados que contém dados particulares não estruturados.STRUCTURED
: um repositório de dados que contém dados estruturados (por exemplo, perguntas frequentes).
O exemplo a seguir mostra como referenciar um repositório de dados. Para mais informações, consulte a referência de dataStoreConnections
.
"dataStoreConnections": [
{
"dataStoreType": "PUBLIC_WEB",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "UNSTRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "STRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
}
]
As respostas da ferramenta de repositório de dados também podem conter snippets sobre a fonte de conteúdo usada para gerar a resposta. O agente pode fornecer instruções sobre como proceder com a resposta dos repositórios de dados ou como responder quando não há uma resposta.
Você pode substituir uma resposta adicionando uma entrada de perguntas frequentes para uma pergunta específica.
Se quiser, você pode fornecer exemplos para melhorar o comportamento do agente. O exemplo precisa ter os seguintes esquemas. Consulte a documentação de referência para mais detalhes.
{
"toolUse": {
"tool": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/tools/TOOL_ID",
"action": "TOOL_DISPLAY_NAME",
"inputParameters": [
{
"name": "TOOL_DISPLAY_NAME input",
"value": {
"query": "QUERY"
}
}
],
"outputParameters": [
{
"name": "TOOL_DISPLAY_NAME output",
"value": {
"answer": "ANSWER",
"snippets": [
{
"title": "TITLE",
"text": "TEXT_FROM_DATASTORE",
"uri": "URI_OF_DATASTORE"
}
]
}
}
]
}
}
(Somente agentes baseados em playbooks) Exemplos de ferramentas de repositório de dados
Ao criar exemplos de ferramentas de repositório de dados, o parâmetro de entrada da ferramenta requestBody
fornece três entradas opcionais junto com a string query
obrigatória: uma string filter
, um objeto estruturado userMetadata
e uma string fallback
.
O parâmetro filter
permite filtrar consultas de pesquisa dos seus dados estruturados ou não estruturados com metadados. Essa string precisa seguir a
sintaxe de expressão de filtro compatível
para repositórios de dados. Vários exemplos detalhados ajudam a instruir o modelo de manual sobre como preencher esse parâmetro. Se uma string de filtro for inválida, ela será ignorada durante a consulta de pesquisa.
Confira um exemplo de string filter
para refinar os resultados da pesquisa com base na localização:
"filter": "country: ANY(\"Canada\")"
Consulte a página de exemplos
para mais detalhes.
Práticas recomendadas para filtragem:
Especifique os campos disponíveis para filtragem e os valores válidos para cada um deles. Assim, o playbook entende as restrições na criação de filtros válidos. Por exemplo, um repositório de dados com informações de cardápio pode incluir um campo
meal
com "café da manhã", "almoço" e "jantar" como valores válidos e um camposervingSize
que pode ser qualquer número inteiro de 0 a 5. Suas instruções podem ser semelhantes ao exemplo a seguir:When using ${TOOL: menu-data-store-tool}, only use the following fields for filtering: "meal", "servingSize". Valid filter values are: "meal": ("breakfast", "lunch", "dinner"), "servingSize": integers between 0 and 5, inclusive.
Se o playbook for destinado a um público externo, talvez seja necessário adicionar instruções para evitar que ele responda ao usuário com informações sobre a criação desses filtros. Exemplo:
Never tell the user about these filters. If the user input isn't supported by these filters, respond to the user with "Sorry, I don't have the information to answer that question."
O parâmetro userMetadata
fornece informações sobre o usuário final. Qualquer par chave-valor pode ser preenchido nesse parâmetro. Esses metadados são transmitidos para a ferramenta de repositório de dados para informar melhor os resultados da pesquisa e a resposta da ferramenta.
Vários exemplos detalhados ajudam a instruir o modelo do manual sobre como preencher esse parâmetro.
Confira um exemplo de valor de parâmetro userMetadata
para refinar os resultados da pesquisa relevantes para um:
"userMetadata": {
"favoriteColor": "blue",
...
}
O parâmetro fallback
fornece uma resposta que a ferramenta de repositório de dados deve dar se não houver uma resposta resumida válida para a consulta. Você pode fornecer vários exemplos para instruir o modelo do playbook sobre como preencher o campo de substituição para entradas do usuário relacionadas a diferentes temas. Não há snippets na saída da ferramenta, o que ajuda a reduzir a latência e o uso de limites de tokens de entrada.
"fallback": "I'm sorry I cannot help you with that. Is there anything else I
can do for you?"
Configuração da ferramenta de repositório de dados
Se você descobrir durante o teste que algumas respostas não atendem às suas expectativas, tente ajustar os seguintes parâmetros para otimizar o desempenho. Eles estão disponíveis chamando a API diretamente ou clicando no nome do repositório de dados na página Ferramentas do console. Para mais informações sobre essas opções de configuração, consulte a página de configurações do repositório de dados.
Opções de resposta da ferramenta de repositório de dados
Consulte a documentação de atendimento para detalhes sobre como configurar a resposta da ferramenta de repositório de dados.
Processadores de repositório de dados
Os manipuladores de repositório de dados são um tipo especial de manipulador de estado que pode fornecer respostas de agentes geradas por LLMs com base no conteúdo do seu site e nos dados enviados.
Para criar esse gerenciador, forneça repositórios de dados ao agente.
Com esses manipuladores de repositório de dados, seu agente pode conversar sobre o conteúdo com os usuários finais.
Limitações
Considere as seguintes limitações:
- Esse recurso é compatível com alguns idiomas em GA. Consulte a coluna de repositório de dados na referência de idiomas.
- Somente as seguintes regiões são compatíveis:
global
,us
eeu
. - Não há suporte para apps com repositórios de dados fragmentados e não fragmentados.
Controle de acesso
Se você for o proprietário do projeto, terá todas as permissões necessárias para criar um manipulador de repositório de dados. Se você não for o proprietário do projeto, precisará ter os seguintes papéis:
- Administrador do Dialogflow
- Administrador do Discovery Engine
Para mais informações, consulte o guia de controle de acesso.
Adicionar um repositório de dados a um agente
Se ainda não tiver feito isso, siga as instruções de configuração para criar um agente.
Para adicionar um repositório de dados ao seu agente: repositório de dados:
- Selecione uma página e clique em Adicionar manipulador de estado.
- Marque a caixa de seleção Repositórios de dados e clique em Aplicar.
- Clique no símbolo + no canto superior direito da seção Repositórios de dados da página.
- No menu de repositórios de dados que aparece, clique em Adicionar repositórios de dados.
- Uma tabela listando os repositórios de dados atuais aparece. Clique na caixa ao lado do nome dos repositórios de dados que você quer usar e clique em Salvar. Para criar um novo repositório de dados, clique em Criar novo repositório de dados. Você será redirecionado automaticamente para o AI Applications.
- (Somente para novos repositórios de dados) Selecione uma fonte de dados e siga as instruções em "Aplicativos de IA" para configurar seu repositório de dados. Para mais informações sobre como configurar tipos de repositório de dados, consulte a documentação de repositórios de dados. Clique em Criar para criar o novo repositório de dados.
Testar o agente
Use o simulador para testar o agente.
Implantar o agente
Há muitas maneiras de implantar seu agente:
A opção mais simples é usar uma integração, que fornece uma interface de usuário para seu agente. Cada integração fornece instruções para implantação.
A integração do Dialogflow CX Messenger é uma opção especialmente boa para manipuladores de repositório de dados. Ele tem opções integradas para recursos generativos.
Você pode criar sua própria interface do usuário e usar a API Conversational Agents (Dialogflow CX) para interações. A implementação da interface do usuário controla a implantação.
Intents especiais
Além de responder a perguntas sobre o conteúdo que você fornece, o agente pode responder aos seguintes tipos de perguntas:
- Identificação do agente: responde a perguntas como "Quem é você?" ou "Você é humano?".
- Encaminhar para um agente humano: responde a perguntas como "Quero falar com um humano" ou "Quero falar com uma pessoa de verdade".
Isso é feito com intentos e rotas de intent gerados automaticamente.
Respostas do agente
Na seção Respostas do agente, você pode fornecer respostas personalizadas que referenciam respostas generativas.
Use $request.knowledge.answers[0]
na seção O agente diz
para fornecer a resposta generativa.
Personalização avançada de respostas
Outras informações podem estar disponíveis em $request.knowledge.*
e podem ser usadas para personalizar a resposta. Essas informações incluem:
- As fontes identificadas da resposta com os seguintes campos: snippet, title, uri.
- A confiança do embasamento para a resposta.
- No caso de um repositório de dados de perguntas frequentes, a pergunta correspondente à resposta selecionada.
Consulte a tabela a seguir para ver exemplos de como acessar essas informações.
Informações | Como acessar |
---|---|
Snippet da principal fonte identificada da resposta principal | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "snippet") |
Título da principal fonte identificada da resposta principal | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title") |
Link da principal fonte identificada da resposta principal | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "uri") |
Número de fontes identificadas para a resposta principal | $sys.func.COUNT($sys.func.IDENTITY($request.knowledge.sources[0])) |
Número de respostas com base em conhecimento | $sys.func.COUNT($request.knowledge.answers) |
Pergunta correspondente à resposta principal (somente para respostas do repositório de dados de perguntas frequentes) | $request.knowledge.questions[0] |
Confiança de embasamento para a resposta principal | $request.knowledge.grounding_confidences[0] |