O QueryData permite interagir com os dados no banco de dados usando linguagem conversacional e criar agentes de dados. O QueryData grava consultas para seu banco de dados usando conjuntos de contexto, que são coleções de código que contêm informações exclusivas sobre seu banco de dados. Esse contexto permite que o QueryData traduza perguntas em linguagem natural em consultas precisas para seus casos de uso de destino.
Quando usar o QueryData
O QueryData é ideal para aplicativos como:
- Automação de atendimento ao cliente: processe consultas de alto volume, como "Onde está meu pedido?" ou "Qual é meu saldo atual?".
- Assistentes de compras de e-commerce: ajude os usuários a navegar por grandes catalógos de produtos com consultas em linguagem natural, como "Mostre tênis de corrida com menos de US$ 100."
- Ferramentas de operações de campo: permita que funcionários móveis consultem níveis de estoque , disponibilidade de peças ou detalhes de tíquetes de serviço em tempo real.
Como o QueryData funciona
Para criar aplicativos de agentes eficazes, o QueryData precisa entender a organização de dados e a lógica de negócios. Você fornece essas informações na forma de um conjunto de contexto.
Você define o contexto em arquivos que contêm objetos JSON para cada tipo de contexto. Você cria esses arquivos de contexto com a ajuda da CLI do Gemini. Em seguida, faça upload do arquivo de contexto para um conjunto de contexto criado no Google Cloud console. Esse processo permite que o QueryData aprenda o esquema específico do banco de dados e a lógica de negócios do aplicativo.
O arquivo de contexto é semelhante a este:
O arquivo de contexto do agente é semelhante a este:
{
"templates": [
{
"nl_query": "Count prague loan accounts",
"sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = 'Prague'",
"intent": "How many accounts associated with loans are located in the Prague region?",
"manifest": "How many accounts associated with loans are located in a given city?",
"parameterized": {
"parameterized_intent": "How many accounts associated with loans are located in $1",
"parameterized_sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = $1"
}
}
],
"facets": [
{
"sql_snippet": "T.\"A11\" BETWEEN 6000 AND 10000",
"intent": "Average salary between 6000 and 10000",
"manifest": "Average salary between a given number and a given number",
"parameterized": {
"parameterized_intent": "Average salary between $1 and $2",
"parameterized_sql_snippet": "T.\"A11\" BETWEEN $1 AND $2"
}
}
]
}
Quando um usuário final faz uma pergunta em linguagem natural, o QueryData prioriza a correspondência da pergunta aos modelos e atributos que foram auditados pelo desenvolvedor que está organizando o contexto. Depois que o QueryData identifica uma correspondência, ele usa o modelo de consulta e os atributos selecionados para sintetizar uma consulta de banco de dados. A lógica do conjunto de contexto executa essa consulta no banco de dados para retornar resultados precisos.
Uma etapa recomendada é definir pesquisas de valor no contexto. As pesquisas de valor permitem que o agente mapeie frases de valor para valores específicos armazenados nas colunas do banco de dados. Isso fundamenta o LLM nos seus dados reais, ajudando a resolver ambiguidades, como se um termo se refere a um nome de District ou a uma City.
Se o agente não encontrar um modelo correspondente, ele usará pesquisas de valor para mapear frases de linguagem natural para valores específicos armazenados nas colunas do banco de dados. Isso fundamenta o LLM nos seus dados reais, ajudando a resolver ambiguidades, como se um termo se refere a um District, Name ou a uma City.
O endpoint QueryData na Análises de conversação
API é
uma ferramenta com agentes que permite a integração programática com seus aplicativos para
ativar a geração de consulta SQL a partir de perguntas em linguagem natural. Em um aplicativo conversacional, o endpoint QueryData precisa ser usado na estrutura que gerencia o histórico e o contexto da conversa.Para aplicar a resolução de entidades, mantendo a segurança estrita no nível da linha, use visualizações seguras parametrizadas (PSVs, na sigla em inglês). Para mais informações, consulte Proteger e controlar o acesso aos dados do aplicativo usando visualizações seguras parametrizadas.
A seguir
- Saiba como testar o QueryData no Cloud SQL Studio.