Auf dieser Seite wird beschrieben, wie Sie mit Vector Assist eine Vektor-Arbeitslast in Ihrer Cloud SQL for PostgreSQL-Instanz bereitstellen und verwalten.
Weitere Informationen zur Vektorunterstützung und ihrer Funktionsweise finden Sie unter Vektorunterstützung – Übersicht.
Hinweise
- Prüfen Sie, ob Ihre Instanz die richtige Wartungsversion verwendet. Für Vector Assist ist mindestens die Wartungsversionsnummer
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 „Vector Assist“ mit dem folgenden Befehl in der Datenbank, die Sie verwenden möchten:
CREATE EXTENSION vector_assist CASCADE;Dadurch wird das
vector_assist-Schema generiert, das von der Vektorunterstützung verwendet wird.
Vector Assist zum Bereitstellen einer Vektorarbeitslast verwenden
Wenn Sie Vector Assist zum Bereitstellen und Verwalten einer Vektorarbeitslast verwenden möchten, müssen Sie Folgendes tun:
- Vektorspezifikation definieren
- Vector Assist-Empfehlungen ansehen
- Vector Assist-Empfehlungen anwenden
Vektorspezifikation definieren
Die Vektorspezifikation oder Vektorspezifikation zu definieren, ist der erste Schritt bei der Verwendung von Vector Assist. Je nach Art der Vektor-Arbeitslast können sich die Felder, die Sie zum Definieren der Vektorspezifikation verwenden, unterscheiden.
Wenn Sie beispielsweise die semantische Suche für eine bestimmte Spalte in einer Tabelle aktivieren möchten, führen Sie die Funktion vector_assist.define_spec 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 Ihrem Vektor-Arbeitslast verwenden möchten.
- VECTOR_COLUMN_NAME: Die Spalte, in der Sie eine semantische Suche durchführen möchten.
- TARGET_RECALL: Die Ziel-Recall-Rate, die Vector Assist erreichen soll.
- TUNE_INDEX: Ein boolescher Wert, der angibt, ob Vector Assist die Vektorindexe in Ihrem Arbeitslast optimiert.
Eine vollständige Liste aller verfügbaren Parameter für die Vektorspezifikation finden Sie in der Referenz zu Vector Assist.
Nachdem Sie die Abfrage zum Erstellen der Vektorspezifikation ausgeführt haben, generiert Vector Assist automatisch Schritte, sogenannte Empfehlungen, die Sie ausführen müssen, um Ihre Vektorarbeitslast bereitzustellen.
Empfehlungen für Vektor-Assist ansehen
Wenn Sie die Empfehlungen aufrufen möchten, die von Vector Assist anhand Ihrer Vektorspezifikation generiert wurden, führen Sie die Funktion vector_assist.get_recommendations 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 aufrufen 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 dem 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.
Vector Assist-Empfehlungen anwenden
Sie können die generierten Empfehlungen einzeln oder als Ganzes übernehmen.
Wenn Sie eine bestimmte Empfehlung anwenden möchten, führen Sie die Funktion vector_assist.apply_recommendation aus:
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENATION_ID',
);
Ersetzen Sie die folgenden Parameter:
- RECOMMENDATION_ID: Die ID der Empfehlung für die Vektorunterstützung, die Sie aus der Tabelle
vector_assist.RECOMMENDATIONSanwenden möchten.
Wenn Sie alle Empfehlungen zusammen anwenden möchten, führen Sie die Funktion vector_assist.apply_spec 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.
Sobald Sie die von Vector Assist generierten Empfehlungen angewendet haben, ist der Vektorindex einsatzbereit.
Suchanfragen generieren
Mit Vector Assist können Sie optimierte Suchanfragen für Ihre bereitgestellten Vektor-Arbeitslasten erstellen. Dazu werden die Vektorspezifikation der Arbeitslast und der generierte Vektorindex verwendet. So generieren Sie eine optimierte Suchanfrage:vector_assist.generate_query
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 Textspalte, die Sie in Ihrer Vektorspezifikation definiert haben.
- SEARCH_TEXT: Der Text, nach dem Sie in der Spalte suchen möchten.
- TOP_K: Die Anzahl der zurückzugebenden nächsten Nachbarn.
- TARGET_RECALL: Die Ziel-Recall-Rate, die Vector Assist 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 zu Vector Assist.
Die Ausgabe dieser Funktion ist Text, der eine SQL-Abfrage enthält. Sie können diese SQL-Abfrage bei Bedarf ausführen oder speichern.