Auf dieser Seite wird beschrieben, wie Sie mithilfe der Operatorfunktionen der AlloyDB-KI-Abfrage-Engine natürliche Sprache in SQL-Operatoren verwenden. Mit den Operatoren ai.if
, ai.if
verknüpfen, ai.score
und ai.generate
können Sie natürliche Sprache mit SQL-Abfragen kombinieren.
Um die Anleitungen auf dieser Seite verwenden zu können, müssen Sie AlloyDB for PostgreSQL kennen und mit den Konzepten der generativen KI vertraut sein.
AlloyDB reserviert das Schema ai
und versucht, dieses Schema zu erstellen, wenn Sie die Erweiterung google_ml_integration
installieren. Wenn die Schemaerstellung fehlschlägt, verwenden Sie die Funktionen mit demselben Namen im google_ml
-Schema.
Hinweise
- Wenden Sie sich an den Support, um Zugriff auf die Verwendung von SQL-Operatoren in natürlicher Sprache zu erhalten. Warten Sie, bis Sie die Aktivierungsbestätigung erhalten haben, bevor Sie der Anleitung auf dieser Seite folgen.
Filter und Joins in Abfragen verwenden
Mit dem Operator ai.if
/google_ml.if
können Sie prüfen, ob eine in natürlicher Sprache formulierte Bedingung erfüllt ist . Die Funktion gibt den booleschen Wert „wahr“ oder „falsch“ zurück. Wenn die Ausgabe nicht eindeutig erkannt wird, gibt sie „NULL“ zurück.
In der folgenden Beispielabfrage wird gezeigt, wie Sie die Restaurantrezensionen finden, in denen Parkplätze erwähnt werden.
SELECT review AS talks_about_parking
FROM user_reviews
WHERE
ai.if(
prompt => 'the following review talks about parking at the restaurant. review: ' || review);
Zusammenführen von Daten
Verwenden Sie den Operator ai.if
/google_ml.if
mit „join“, um einen Join-Vorgang auszuführen. Mit der folgenden Beispielabfrage wird die Anzahl der Rezensionen ermittelt, in denen jeder Speisepunkt aus der Speisekarte des Restaurants erwähnt wird.
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;
Abfrageergebnisse bewerten
Wenn Sie eine Liste von Elementen in einer Abfrage anhand von semantischen Kriterien in natürlicher Sprache sortieren möchten, verwenden Sie den Operator ai.rank/google_ml.rank
.
Mit der folgenden Beispielabfrage werden die 20 positivsten Restaurantrezensionen abgerufen. Die Antwort wird anhand der im ai.rank/google_ml.rank
-Funktionsaufruf festgelegten Kriterien sortiert.
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;
Text für SQL-Operatoren in natürlicher Sprache generieren
Verwenden Sie die Funktion ai.generate
/google_ml.generate
, um Text anhand von Prompts in natürlicher Sprache zu generieren.
Die folgende Abfrage generiert eine Zusammenfassung jeder Nutzerrezension basierend auf den im Funktionsaufruf ai.generate
angegebenen Kriterien.
SELECT
ai.generate(
prompt => 'Summarize the review in 20 words or less. Review: ' || review_text) AS review_summary
FROM user_reviews;