Esta página descreve como usar a linguagem natural em operadores SQL usando as
funções de operador fornecidas pelo mecanismo de consulta de IA do AlloyDB. É possível usar
os operadores ai.if
, mesclar com ai.if
, ai.score
e
ai.generate
para combinar a linguagem natural com consultas SQL.
Para usar as instruções desta página, você precisa entender o AlloyDB para PostgreSQL e conhecer os conceitos de IA generativa.
O AlloyDB reserva o esquema ai
e tenta
criá-lo quando você instala a extensão
google_ml_integration
. Se a criação do esquema falhar, use as funções com o mesmo
nome no esquema google_ml
.
Antes de começar
- Solicite acesso para usar operadores SQL com linguagem natural e aguarde a confirmação de ativação antes de seguir as instruções desta página.
Usar filtros e mesclagens nas consultas
Para avaliar se uma condição declarada em linguagem natural é atendida, use o operador ai.if
/google_ml.if
. A função retorna um valor booleano verdadeiro ou falso e retorna NULL se a saída não for detectada claramente.
A consulta de exemplo a seguir mostra como encontrar as avaliações de restaurantes que mencionam vagas de estacionamento.
SELECT review AS talks_about_parking
FROM user_reviews
WHERE
ai.if(
prompt => 'the following review talks about parking at the restaurant. review: ' || review);
Realizar uma operação de mesclagem
Para realizar uma operação de mesclagem, use o operador ai.if
/google_ml.if
com a mesclagem. A consulta de exemplo a seguir encontra o número de avaliações que mencionam cada item do cardápio do restaurante.
SELECT item_name, COUNT(*)
FROM menu_items JOIN user_reviews
ON ai.if(
prompt => 'Does the following user review talk about the menu item mentioned ? review: ' || user_reviews.review_text || ' menu item: ' || item_name)
GROUP BY item_name;
Pontuar os resultados da consulta
Para ordenar uma lista de itens em uma consulta com base em um critério semântico declarado em linguagem natural, use o operador ai.rank/google_ml.rank
A consulta de exemplo a seguir recebe as 20 avaliações mais positivas do restaurante. Ela ordena a resposta com base nos critérios definidos na chamada de função ai.rank/google_ml.rank
.
SELECT review AS top20
FROM user_reviews
ORDER BY ai.rank('Score the following review according to these rules: score of 8 to 10 if the review says the food is excellent, 4 to 7 if the review says the food is and 1 to 3 if the review says the food is not good. Here is the review: ' || review)
LIMIT 20;
Gerar texto para operadores SQL com linguagem natural
Para gerar texto com base em comandos especificados em linguagem natural, use a função ai.generate
/google_ml.generate
.
A consulta a seguir gera um resumo de cada avaliação do usuário com base nos critérios definidos na chamada de função ai.generate
.
SELECT
ai.generate(
prompt => 'Summarize the review in 20 words or less. Review: ' || review_text) AS review_summary
FROM user_reviews;