En esta página, se describe cómo usar el lenguaje natural en operadores de SQL con las funciones de operador que proporciona el motor de consulta de IA de AlloyDB. Puedes usar los operadores ai.if
, Join with ai.if
, ai.score
y ai.generate
para combinar el lenguaje natural con las consultas de SQL.
Para usar las instrucciones de esta página, debes comprender AlloyDB para PostgreSQL y estar familiarizado con los conceptos de IA generativa.
AlloyDB reserva el esquema ai
y trata de crearlo cuando instalas la extensión google_ml_integration
. Si la creación del esquema falla, usa las funciones con el mismo nombre en el esquema google_ml
.
Antes de comenzar
- Solicita acceso para usar operadores SQL con lenguaje natural y espera a recibir la confirmación de habilitación antes de seguir las instrucciones de esta página.
Usa filtros y combinaciones en tus consultas
Para evaluar si se cumple una condición expresada en lenguaje natural, usa el operador ai.if
/google_ml.if
. La función muestra un valor booleano verdadero o falso, y muestra NULL si el resultado no se detecta con claridad.
En la siguiente consulta de ejemplo, se muestra cómo encontrar las opiniones de restaurantes que mencionan espacio de estacionamiento.
SELECT review AS talks_about_parking
FROM user_reviews
WHERE
ai.if(
prompt => 'the following review talks about parking at the restaurant. review: ' || review);
Cómo realizar una operación de unión
Para realizar una operación de unión, usa el operador ai.if
/google_ml.if
con la unión. La siguiente consulta de muestra encuentra la cantidad de opiniones que mencionan cada elemento del menú del 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;
Cómo calificar los resultados de tus consultas
Para ordenar una lista de elementos en una consulta según un criterio semántico expresado en lenguaje natural, usa el operador ai.rank/google_ml.rank
.
La siguiente consulta de ejemplo obtiene las 20 opiniones más positivas de un restaurante. Ordena la respuesta según los criterios establecidos en la llamada a la función 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;
Genera texto para operadores SQL con lenguaje natural
Para generar texto basado en instrucciones especificadas en lenguaje natural, usa la función ai.generate
/google_ml.generate
.
La siguiente consulta genera un resumen de cada opinión de los usuarios según los criterios establecidos en la llamada a la función ai.generate
.
SELECT
ai.generate(
prompt => 'Summarize the review in 20 words or less. Review: ' || review_text) AS review_summary
FROM user_reviews;
¿Qué sigue?
Registra un extremo de modelo con la administración de extremos de modelos
Clasifica y califica los resultados de la búsqueda para la RAG