Mit der Beschleunigung von KI-Funktionen können Sie die Leistung optimieren, wenn Sie Abfragen ausführen, die KI-Funktionen verwenden. Sie bietet die gleiche oder eine bessere Leistung als arraybasierte Funktionen, ohne dass Sie komplexe Abfragen schreiben müssen. Weitere Informationen zu KI Funktionen finden Sie unter Übersicht über KI-Funktionen.
Die Beschleunigung von KI-Funktionen unterstützt die folgenden KI-Funktionen:
ai.if: Die Beschleunigung gilt nur fürSELECT-Abfragen, bei denen sich die Funktion in derWHERE-Klausel befindet. Sie unterstützt eine einzelneai.if-Funktion pro Scan und funktioniert mit sequenziellen, Index- und Bitmap-Heap-Scans. Wenn eine Abfrage mehrere Tabellenscans enthält, z. B. für verschiedene Tabellen, Beziehungen oder allgemeine Tabellenausdrücke (Common Table Expressions, CTEs), können Sie eineai.if-Funktion pro Scan beschleunigen.ai.rank: Die Beschleunigung gilt nur fürSELECT-Abfragen, bei denen sich die Funktion in derORDER BY-Klausel befindet. Sie unterstützt eine einzelneai.rank-Funktion pro Scan. Wenn eine Abfrage mehrere Tabellenscans enthält, z. B. für verschiedene Tabellen, Beziehungen oder CTEs, können Sie eineai.rank-Funktion pro Scan beschleunigen.
Beschleunigung von KI-Funktionen aktivieren
Wenn Sie die Beschleunigung von KI-Funktionen aktivieren möchten, legen Sie das
google_ml_integration.enable_ai_function_acceleration Flag auf on fest. Dieses Flag ist standardmäßig deaktiviert und steuert, ob der Abfrage-Executor berechtigte KI-Vorgänge zur Beschleunigung an den Knoten „KI-Funktion anwenden“ auslagern darf.
Wenn das Flag nicht festgelegt oder auf off gesetzt ist, werden alle Abfragevorgänge vom Standard-PostgreSQL-Executor ausgeführt.
Sie können dieses Flag entweder auf Sitzungs- oder Instanzebene konfigurieren.
Verwenden Sie den Befehl gcloud
alloydb instances update, um die Beschleunigung von KI-Funktionen auf Instanzebene zu aktivieren:
gcloud alloydb instances update INSTANCE_ID \
--database-flags google_ml_integration.enable_ai_function_acceleration=on \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_IDErsetzen Sie Folgendes:
INSTANCE_ID: Die ID der Instanz, die Sie aktualisieren möchten.REGION_ID: Die ID der Region, in der sich der Cluster befindet. Weitere Informationen finden Sie unter Unterstützte Regionen.CLUSTER_ID: Die ID des Clusters.PROJECT_ID: Die ID des Projekts.
Weitere Informationen zum Festlegen eines Flags auf Instanzebene finden Sie unter Datenbank-Flags konfigurieren.
Beschleunigung von KI-Funktionen überprüfen
Sie können die Anweisung EXPLAIN verwenden, um Ihre Abfrage zu analysieren und zu prüfen, ob die Beschleunigung von KI-Funktionen aktiviert ist.
Beschleunigung von KI-Funktionen für ai.if-Abfragen überprüfen
Im folgenden Beispiel wird gezeigt, wie Sie die Beschleunigung von KI-Funktionen für die aktuelle Sitzung aktivieren und eine Abfrage mit der Funktion ai.if ausführen:
SET google_ml_integration.enable_ai_function_acceleration = on;
EXPLAIN (COSTS OFF) SELECT r.name
FROM restaurant_reviews r
WHERE ai.if('Is the following a positive review? Review: '||r.review) AND r.city = 'Los Angeles'
GROUP BY r.name
HAVING count(*) > 20
ORDER BY r.name;
Wenn Sie die Anweisung EXPLAIN verwenden, um Ihre Abfrage zu analysieren, enthält der Abfrageplan einen Knoten AI Function Apply:
QUERY PLAN
----------------------------------------------------------------------------------------
GroupAggregate
Group Key: name
Filter: (count(*) > 20)
-> Sort
Sort Key: name
-> AI Function Apply
Filter: ai.if((('Is the following a positive review? Review: '::text || review)), NULL::character varying)
-> Index Scan using idx_restaurant_reviews_city on restaurant_reviews r
Index Cond: ((city)::text = 'Los Angeles'::text)
Beschleunigung von KI-Funktionen für ai.rank-Abfragen überprüfen
Im folgenden Beispiel wird gezeigt, wie Sie die Beschleunigung von KI-Funktionen für die aktuelle Sitzung aktivieren und eine Abfrage mit der Funktion ai.rank ausführen:
SET google_ml_integration.enable_ai_function_acceleration = on;
EXPLAIN (COSTS OFF) SELECT r.name, r.review
FROM restaurant_reviews r
WHERE r.city = 'Los Angeles'
ORDER BY ai.rank('Rank these reviews based on how much they emphasize high-quality ingredients. Review: ' || r.review) DESC
LIMIT 50;
Wenn Sie die Anweisung EXPLAIN verwenden, um Ihre Abfrage zu analysieren, enthält der Abfrageplan einen Knoten AI Function Apply:
QUERY PLAN
----------------------------------------------------------------------------------------
Limit
-> Sort
Sort Key: (ai.rank(('Rank these reviews based on how much they emphasize high-quality ingredients. Review: ' || r.review'), NULL)) DESC
-> AI Function Apply
-> Bitmap Heap Scan on restaurant_reviews r
Recheck Cond: (city = 'Los Angeles')
-> Bitmap Index Scan on idx_restaurant_reviews_city
Index Cond: (city = 'Los Angeles')
Der Knoten AIFunctionApply im Abfrageplan gibt an, dass die Abfrage die Beschleunigung von KI-Funktionen verwendet hat. Wenn dieser Knoten nicht vorhanden ist, wurde die Abfrage mit der Standardausführung von PostgreSQL ausgeführt.
Beschränkungen
- Es werden nur grundlegende Argumente für die Funktionen unterstützt. Für
ai.ifundai.rankmuss das Argumentpromptentweder ein Spaltenverweis oder ein Stringliteral sein, das mit einem Spaltenverweis verkettet ist. Alle anderen Argumente müssen einfache Konstanten sein. Beispiele für unterstützteprompt-Argumente:ai.if(r.review)ai.if('Is this true? : ' || r.review)ai.rank(r.review)ai.rank('Rate this review: ' || r.review)
- Es werden nur
SELECT-Abfragen mitai.ifinWHERE-Klauseln oderai.rankinORDER BY-Klauseln unterstützt. - Pro Tabellenscan wird nur eine KI-Funktion unterstützt.
- Es werden nur die Standardmodelle von Gemini unterstützt. Weitere Informationen finden Sie unter Gemini-Modelle. Wenn Sie ein anderes Modell verwenden möchten, können Sie das Flag
google_ml_integration.default_llm_modelauf die ID des gewünschten Modells festlegen. - Die Funktion ist nur in Regionen verfügbar, die das Modell
gemini-2.5-flash-liteunterstützen, oder in den Regionen für das LLM-Modell, das Sie mit dem Flaggoogle_ml_integration.default_llm_modelfestgelegt haben. Weitere Informationen finden Sie unter Unterstützte Regionen.
Nächste Schritte
- Intelligente SQL-Abfragen mit KI Funktionen ausführen.
- KI-Abfragen mit optimierten Funktionen beschleunigen.
- Mit arraybasierten Funktionen filtern