As ferramentas de armazenamento de dados podem fornecer respostas de agentes geradas pela IA com base no conteúdo do Website e nos dados carregados. O seu agente pode encontrar respostas às perguntas dos utilizadores finais nos seus armazenamentos de dados durante o processamento de pedidos.
Ferramentas de armazenamento de dados: consola
Esta secção explica o processo de adicionar uma ferramenta de armazenamento de dados a um agente e configurá-la num processamento de pedidos.
Crie uma ferramenta de armazenamento de dados
- Abra a consola de agentes conversacionais e escolha um Google Cloud projeto.
- Selecione um agente no menu pendente.
- Navegue até à barra de menu no lado esquerdo da página e selecione Ferramentas.
- Para criar uma nova ferramenta de armazenamento de dados, clique em + Criar. Introduza um Nome exclusivo para a ferramenta e selecione Armazenamento de dados no menu pendente em Tipo. Opcionalmente, pode introduzir uma descrição da ferramenta no campo Descrição.
- Consola de agentes conversacionais: em Armazenamentos de dados, clique em Adicionar armazenamentos de dados para adicionar um ou mais armazenamentos de dados pré-existentes à ferramenta ou em Criar armazenamento de dados para adicionar um novo. Se criar um novo arquivo de dados, é apresentado um menu de tipos de arquivos de dados. As opções Website, Cloud Storage (FAQ) e Cloud Storage (dados não estruturados) podem ser concluídas na consola de agentes conversacionais. Se escolher qualquer outro tipo, é redirecionado automaticamente para as Aplicações de IA para criar o repositório de dados: Consola das Aplicações de IA
- Consola Dialogflow CX: em Armazenamento de dados, clique em Adicionar armazenamento de dados. A janela de pop-up contém uma lista dos seus arquivos de dados existentes, se existirem. Escolha os arquivos de dados que quer adicionar à ferramenta. Para criar um novo arquivo de dados na consola de aplicações de IA, clique em Criar novo arquivo de dados. Vai ser feito o redirecionamento automático para Aplicações de IA: Consola de aplicações de IA
- Depois de terminar a configuração do novo arquivo de dados, clique em Criar. Se criou um novo arquivo de dados na consola de agentes conversacionais (Dialogflow CX), este deve aparecer na lista de arquivos de dados. Se criou um repositório de dados em AI Applications, navegue novamente para o menu Criar ferramenta que está a configurar na consola de agentes conversacionais (Dialogflow CX) e atualize a página. A nova loja de dados deve aparecer agora na lista de lojas de dados disponíveis.
- Clique em Guardar na parte superior da configuração da ferramenta de criação para criar a nova ferramenta de armazenamento de dados.
- Para mais informações sobre as opções de configuração adicionais da ferramenta de armazenamento de dados, consulte a página de definições do armazenamento de dados.
Adicione a ferramenta de armazenamento de dados a um processamento
- Na barra de menu do lado esquerdo, selecione Fluxos.
- Selecione um fluxo e uma página e, de seguida, clique na Rota da página que quer usar com o seu repositório de dados.
- No menu Percurso, desloque a página até Processamento de encomendas > Ferramenta de armazenamento de dados. Selecione a ferramenta de armazenamento de dados no menu pendente.
- No menu Rota, desloque a página até Preenchimento > Respostas do agente. Clique em +Adicionar resposta de diálogo e, de seguida, em Resposta da ferramenta de armazenamento de dados.
- No formulário apresentado, pode configurar quantos links de origem e citações podem aparecer na resposta, bem como especificar o comportamento alternativo se a resposta do repositório de dados estiver vazia. Pode introduzir uma resposta alternativa estática no campo Respostas alternativas estáticas. Opcionalmente, pode clicar na caixa de verificação Alternativa generativa para tentar usar a IA para gerar uma resposta antes de usar a resposta alternativa estática. Se precisar de mais personalização das respostas alternativas, clique no ícone de chave de bocas no canto superior esquerdo da janela do formulário Resposta da loja de dados para abrir a janela Resposta condicional.
- Na parte superior do menu Rota, clique em Guardar.
- Navegue para o simulador de agentes conversacionais (Dialogflow CX) para testar os resultados do agente.
Ferramentas de armazenamento de dados: API
Por predefinição, o agente liga para o número
dataStoreTool
em seu nome.
Existem três tipos de arquivos de dados:
PUBLIC_WEB
: um repositório de dados que contém conteúdo Web público.UNSTRUCTURED
: um armazenamento de dados que contém dados privados não estruturados.STRUCTURED
: um repositório de dados que contém dados estruturados (por exemplo, perguntas frequentes).
O exemplo seguinte mostra como referenciar um arquivo de dados. Para mais informações,
consulte a referência 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 armazenamento de dados também podem conter fragmentos sobre a fonte de conteúdo que foi usada para gerar a resposta. O agente pode fornecer instruções sobre como proceder com a resposta das bases de dados ou como responder quando não existe uma resposta.
Pode substituir uma resposta adicionando uma entrada de Perguntas frequentes para uma pergunta específica.
Opcionalmente, pode fornecer exemplos para melhorar o comportamento do agente. O exemplo deve ter os seguintes esquemas. Consulte a documentação de referência para ver 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"
}
]
}
}
]
}
}
(Apenas agentes baseados em manuais de procedimentos) Exemplos de ferramentas de armazenamento de dados
Quando criar exemplos de ferramentas de armazenamento de dados, o parâmetro de entrada da ferramenta requestBody
fornece três entradas opcionais juntamente 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. Esta string tem de seguir a
sintaxe de expressão de filtro suportada
para armazenamentos de dados. Vários exemplos detalhados ajudam a dar instruções ao modelo do manual de estratégias sobre como preencher este parâmetro. Se uma string de filtro for inválida, esse filtro é ignorado durante a consulta de pesquisa.
Segue-se um exemplo de uma string filter
para refinar os resultados da pesquisa com base na localização:
"filter": "country: ANY(\"Canada\")"
Consulte a página de exemplos
do manual para mais detalhes.
Práticas recomendadas para a filtragem:
Especifique os campos disponíveis para filtragem e os valores válidos para cada um destes campos, para que o manual compreenda as restrições na criação de filtros válidos. Por exemplo, um repositório de dados com informações de menus pode incluir um campo
meal
com "pequeno-almoço", "almoço" e "jantar" como valores válidos, e um camposervingSize
que pode ser qualquer número inteiro de 0 a 5. As suas instruções podem ter o seguinte aspeto: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 manual de estratégias for para um público-alvo de utilizadores externos, pode ser necessário adicionar instruções para impedir que o manual de estratégias responda potencialmente ao utilizador com informações sobre a criação destes filtros. Por 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 utilizador final. Quaisquer
pares de chave-valor podem ser preenchidos neste parâmetro. Estes metadados são transmitidos
para a ferramenta de armazenamento de dados para informar melhor os resultados da pesquisa e a resposta da ferramenta.
Vários exemplos detalhados ajudam a dar instruções ao modelo do manual sobre como preencher este parâmetro.
Segue-se um exemplo de um valor de parâmetro userMetadata
para refinar os resultados da pesquisa relevantes para um:
"userMetadata": {
"favoriteColor": "blue",
...
}
O parâmetro fallback
fornece uma resposta com a qual a ferramenta de armazenamento de dados deve responder se não existir uma resposta resumida válida para a consulta. Pode fornecer vários exemplos para dar instruções ao modelo do livro de jogadas sobre como preencher o campo alternativo para as entradas do utilizador relacionadas com diferentes tópicos. Não existem fragmentos no resultado da ferramenta, o que pode ajudar a reduzir a latência e a utilização dos 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 armazenamento de dados
Se, durante os testes, verificar que algumas respostas não cumprem as suas expetativas, pode tentar ajustar os seguintes parâmetros para otimizar o desempenho. Estão disponíveis chamando diretamente a API ou clicando no nome do armazenamento de dados na página Ferramentas da consola. Para mais informações sobre estas opções de configuração adicionais, consulte a página de definições do arquivo de dados.
Opções de resposta da ferramenta de armazenamento de dados
Consulte a documentação de processamento de encomendas para ver detalhes sobre a configuração da resposta da ferramenta de armazenamento de dados.
Processadores de armazenamento de dados
Os processadores de armazenamento de dados são um tipo especial de processador de estado que pode fornecer respostas de agentes geradas por MDIs/CEs com base no conteúdo do seu Website e nos dados carregados.
Para criar este controlador, faculta armazenamentos de dados ao agente.
Com estes controladores de armazenamento de dados, o seu agente pode ter conversas sobre o conteúdo com os seus utilizadores finais.
Limitações
Aplicam-se as seguintes limitações:
- Esta funcionalidade suporta determinados idiomas no GA. Consulte a coluna de armazenamento de dados na referência de idiomas.
- Apenas são suportadas as seguintes regiões:
global
,us
multirregião eeu
multirregião. - As apps com armazenamentos de dados fragmentados e não fragmentados não são suportadas.
Controlo de acesso
Se for o proprietário do projeto, tem todas as autorizações necessárias para criar um controlador de arquivo de dados. Se não for o proprietário do projeto, tem de ter as seguintes funções:
- Administrador do Dialogflow
- Administrador do Discovery Engine
Para mais informações, consulte o guia de controlo de acesso.
Adicione um repositório de dados a um agente
Se ainda não o fez, siga as instruções de configuração para criar um agente.
Para adicionar um arquivo de dados ao seu agente: arquivo de dados:
- Selecione uma página e, de seguida, clique em Adicionar controlador de estado.
- Clique na caixa de verificação Armazenamentos de dados e, de seguida, em Aplicar.
- Clique no símbolo + no canto superior direito da secção Armazenamentos de dados da página.
- No menu de arquivos de dados apresentado, clique em Adicionar arquivos de dados.
- É apresentada uma tabela com todas as lojas de dados existentes. Clique na caixa junto ao nome de quaisquer armazenamentos de dados que queira usar e clique em Guardar. Para criar um novo arquivo de dados, clique em Criar novo arquivo de dados. É automaticamente redirecionado para as Aplicações de IA.
- (Apenas para novos arquivos de dados) Selecione uma origem de dados e, em seguida, siga as instruções nas aplicações de IA para configurar o seu arquivo de dados. Para mais informações sobre a configuração de tipos de arquivos de dados, consulte a documentação sobre arquivos de dados. Clique em Criar para criar o novo arquivo de dados.
Teste o seu agente
Pode usar o simulador para testar o seu agente.
Implemente o seu agente
Existem várias formas de implementar o seu agente:
A opção mais simples é usar uma integração, que fornece uma interface do utilizador para o seu agente. Cada integração fornece instruções para a implementação.
A integração do Dialogflow CX Messenger é uma opção particularmente boa para processadores de arquivos de dados. Tem opções integradas para funcionalidades generativas.
Pode criar a sua própria interface do utilizador e usar a API Conversational Agents (Dialogflow CX) para interações. A implementação da interface do utilizador controla a implementação.
Intenções especiais
Além de responder a perguntas sobre o conteúdo que fornece, o agente pode responder aos seguintes tipos de perguntas:
- Identificação do agente: Processa perguntas como "Quem é?" ou "É humano?".
- Encaminhar para um agente humano: processa perguntas como "Quero falar com um humano" ou "Quero falar com uma pessoa real".
Isto é conseguido através de intenções geradas automaticamente e rotas de intenções.
Respostas do agente
Na secção Respostas do agente,
pode fornecer respostas personalizadas que fazem referência a respostas generativas.
Use $request.knowledge.answers[0]
na secção O agente diz
para fornecer a resposta generativa.
Personalização avançada de respostas
Podem estar disponíveis informações adicionais em $request.knowledge.*
que podem ser usadas para personalizar a resposta. Essas informações incluem:
- As fontes identificadas da resposta com os seguintes campos: fragmento, título e URI.
- A confiança na fundamentação da resposta.
- No caso de um arquivo de dados de Perguntas frequentes, a pergunta correspondente à resposta que foi selecionada.
Consulte a tabela seguinte para ver exemplos de como aceder a estas informações.
Informações | Como aceder |
---|---|
Fragmento da principal fonte identificada da principal resposta | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "snippet") |
Título da principal fonte identificada da principal resposta | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title") |
Link da principal fonte identificada da principal resposta | $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 de conhecimento | $sys.func.COUNT($request.knowledge.answers) |
Pergunta correspondente à resposta principal (apenas para respostas da loja de dados de Perguntas frequentes) | $request.knowledge.questions[0] |
Confiança na fundamentação da resposta principal | $request.knowledge.grounding_confidences[0] |