Auf dieser Seite wird beschrieben, wie Sie die Vektorunterstützung verwenden, um eine Vektorarbeitslast in Ihrer Cloud SQL for PostgreSQL -Instanz bereitzustellen und zu verwalten.
Weitere Informationen zur Vektorunterstützung und ihrer Funktionsweise finden Sie unter Übersicht zur Vektorunterstützung.
Hinweis
- Prüfen Sie, ob Ihre Instanz die richtige Wartungsversion verwendet. Für die Vektorunterstützung ist mindestens die Wartungsversion
PostgreSQL_$version.R20251004.01_07erforderlich. Weitere Informationen zur Self-Service-Wartung finden Sie unter Self-Service-Wartung für die Leistung. - Setzen Sie das Datenbank-Flag
cloudsql.enable_vector_assistaufON. Aktivieren Sie die Erweiterung für die Vektorunterstützung mit dem folgenden Befehl in der gewünschten Datenbank:
CREATE EXTENSION vector_assist CASCADE;Dadurch wird das Schema
vector_assistgeneriert, das von der Vektorunterstützung verwendet wird.
Vektorunterstützung zum Bereitstellen einer Vektorarbeitslast verwenden
Wenn Sie die Vektorunterstützung zum Bereitstellen und Verwalten einer Vektorarbeitslast verwenden möchten, müssen Sie Folgendes tun:
- Vektorspezifikation definieren
- Empfehlungen der Vektorunterstützung ansehen
- Empfehlungen der Vektorunterstützung anwenden
Vektorspezifikation definieren
Die Definition der Vektorspezifikation oder des Vektorspezifikations ist der erste Schritt bei der Verwendung der Vektorunterstützung. Je nach Art der Vektorarbeitslast können sich die Felder unterscheiden, die Sie zum Definieren der Vektorspezifikation verwenden.
Wenn Sie beispielsweise die semantische Suche für eine bestimmte Spalte
in einer Tabelle aktivieren möchten, führen Sie die
vector_assist.define_spec
Funktion aus, um die Vektorspezifikation zu definieren:
SELECT vector_assist.define_spec(
table_name => 'TABLE_NAME',
vector_column_name => 'VECTOR_COLUMN_NAME',
target_recall => TARGET_RECALL,
tune_vector_index => TUNE_INDEX
);
Ersetzen Sie die folgenden Parameter:
- TABLE_NAME: der Name der Tabelle, die Sie in Ihrer Vektorarbeitslast verwenden möchten.
- VECTOR_COLUMN_NAME: die Spalte, in der Sie eine semantische Suche durchführen möchten.
- TARGET_RECALL: Der Ziel-Recall, den die Vektorunterstützung erreichen soll.
- TUNE_INDEX: Ein boolescher Wert, der angibt, ob die Vektorunterstützung die Vektorindizes in Ihrer Arbeitslast optimiert.
Eine vollständige Liste aller verfügbaren Parameter für die Vektorspezifikation finden Sie unter Referenz zur Vektorunterstützung.
Nachdem Sie die Abfrage zum Erstellen der Vektorspezifikation ausgeführt haben, generiert die Vektorunterstützung automatisch Schritte, sogenannte Empfehlungen, die Sie ausführen müssen, um Ihre Vektorarbeitslast bereitzustellen.
Empfehlungen der Vektorunterstützung ansehen
Wenn Sie die Empfehlungen ansehen möchten, die von der Vektorunterstützung mit Ihrer
Vektorspezifikation generiert wurden, führen Sie die
vector_assist.get_recommendations
Funktion aus:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
Ersetzen Sie die folgenden Parameter:
- SPEC_ID: Die Spezifikations-ID der Vektorspezifikation, für die Sie Empfehlungen ansehen möchten.
Gibt eine Tabelle mit dem Namen vector_assist.RECOMMENDATIONS zurück, die alle Empfehlungen enthält. Jede Empfehlung wird in einer Tabelle mit der zugehörigen spec_id gespeichert. Jede Empfehlung enthält in der Regel die SQL-Abfrage, die Sie ausführen müssen, eine detaillierte Erklärung der Empfehlung und andere relevante Informationen, die die Empfehlung erläutern.
Empfehlungen der Vektorunterstützung anwenden
Sie können die generierten Empfehlungen einzeln oder als Ganzes anwenden.
Wenn Sie eine bestimmte Empfehlung anwenden möchten, führen Sie die
vector_assist.apply_recommendation
Funktion aus:
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENATION_ID',
);
Ersetzen Sie die folgenden Parameter:
- RECOMMENDATION_ID: Die ID der Empfehlung der Vektorunterstützung
, die Sie aus der Tabelle
vector_assist.RECOMMENDATIONSanwenden möchten.
Wenn Sie alle Empfehlungen zusammen anwenden möchten, führen Sie die
vector_assist.apply_spec
Funktion mit dem Parameter spec_id oder table_name aus:
SELECT vector_assist.apply_spec(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME'
);
Ersetzen Sie die folgenden Parameter:
- SPEC_ID: Die ID der Vektorspezifikation, die Sie verwenden möchten.
- TABLE_NAME: Der Name der Tabelle, die Sie zum Definieren der Vektorspezifikation verwendet haben.
Optional können Sie auch die Parameter schema_name oder column_name eingeben.
Nachdem Sie die von der Vektorunterstützung generierten Empfehlungen angewendet haben, ist der Vektorindex einsatzbereit.
Suchanfragen generieren
Mit der Vektorunterstützung können Sie optimierte Suchanfragen für Ihre bereitgestellten Vektorarbeitslasten erstellen. Dazu werden die Vektorspezifikation und der generierte Vektorindex der Arbeitslast verwendet. Führen Sie
die vector_assist.generate_query
Funktion aus, um eine optimierte Suchanfrage zu generieren:
SELECT vector_assist.generate_query(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME',
column_name => 'COLUMN_NAME',
search_text => 'SEARCH_TEXT',
top_k => 'TOP_K_NAME',
target_recall => TARGET_RECALL,
filter_expression => 'FILTER_EXPRESSION'
);
Ersetzen Sie die folgenden Parameter:
- SPEC_ID: Die ID der Spezifikation, die Sie verwenden möchten.
- TABLE_NAME: Der Name der Tabelle, die Sie zum Definieren der Vektorspezifikation verwendet haben.
- COLUMN_NAME: Der Name der ursprünglichen Text spalte, die Sie in der Vektorspezifikation definiert haben.
- SEARCH_TEXT: Der Text, nach dem Sie in der Spalte suchen möchten.
- TOP_K: Die Anzahl der nächsten Nachbarn, die zurückgegeben werden sollen.
- TARGET_RECALL: Der Ziel-Recall, den die Vektorunterstützung erreichen soll.
- FILTER_EXPRESSION: Alle Filter für die Suchanfrage, z. B. Filterung basierend auf anderen Spalten.
Eine vollständige Liste aller verfügbaren Parameter zum Generieren einer Suchanfrage finden Sie in der Referenz zur Vektorunterstützung.
Die Ausgabe dieser Funktion ist Text, der eine SQL-Abfrage enthält. Sie können diese SQL-Abfrage nach Bedarf ausführen oder speichern.
Nächste Schritte
- Weitere Informationen zur Vektorunterstützung.
- Referenz zur Vektorunterstützung.