本頁說明如何使用向量輔助功能,在 PostgreSQL 適用的 Cloud SQL 執行個體上部署及管理向量工作負載。
如要進一步瞭解向量輔助功能及其運作方式,請參閱「向量輔助功能總覽」。
事前準備
- 確認執行個體使用的維護版本正確無誤。向量輔助功能需要最低維護版本號碼
PostgreSQL_$version.R20251004.01_07。如要進一步瞭解如何執行自助式維護,請參閱「效能自助式維護」。 - 將
cloudsql.enable_vector_assist資料庫旗標設為ON。 在要使用的資料庫中,執行下列指令來啟用向量輔助擴充功能:
CREATE EXTENSION vector_assist CASCADE;這會產生
vector_assist結構定義,供向量輔助功能使用。
使用向量輔助功能部署向量工作負載
如要使用向量輔助功能部署及管理向量工作負載,請完成下列步驟:
定義向量規格
定義向量規格或向量規格是使用向量輔助功能的第一步。視向量工作負載類型而定,您用來定義向量規格的欄位可能有所不同。
舉例來說,如要在資料表的特定資料欄上啟用語意搜尋,請執行 vector_assist.define_spec 函式來定義向量規格:
SELECT vector_assist.define_spec(
table_name => 'TABLE_NAME',
vector_column_name => 'VECTOR_COLUMN_NAME',
target_recall => TARGET_RECALL,
tune_vector_index => TUNE_INDEX
);
替換下列參數:
- TABLE_NAME:您要在向量工作負載中使用的資料表名稱。
- VECTOR_COLUMN_NAME:要執行語意搜尋的資料欄。
- TARGET_RECALL:您希望向量輔助功能達成的目標召回率。
- TUNE_INDEX:布林值,指定向量輔助是否會調整工作負載中的向量索引。
如要查看向量規格的所有可用參數完整清單,請參閱向量輔助參考資料。
執行查詢來建立向量規格後,向量輔助工具會自動產生步驟 (稱為建議),您必須執行這些步驟,才能部署向量工作負載。
查看向量輔助建議
如要查看向量輔助功能使用向量規格產生的建議,請執行 vector_assist.get_recommendations 函式:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
替換下列參數:
- SPEC_ID:要查看建議的向量規格 ID。
傳回名為 vector_assist.RECOMMENDATIONS 的資料表,其中包含所有建議。每項建議都會儲存在資料表中,並附上相關聯的 spec_id。每項建議通常會包含您需要執行的 SQL 查詢、建議的詳細說明,以及其他相關資訊,用來解釋建議。
套用向量輔助建議
您可以個別或一次套用所有建議。
如要套用特定建議,請執行 vector_assist.apply_recommendation 函式:
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENATION_ID',
);
替換下列參數:
- RECOMMENDATION_ID:您要從
vector_assist.RECOMMENDATIONS表格套用的向量輔助建議 ID。
如要一併套用所有最佳化建議,請使用 spec_id 或 table_name 參數執行 vector_assist.apply_spec 函式:
SELECT vector_assist.apply_spec(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME'
);
替換下列參數:
- SPEC_ID:要使用的向量規格 ID。
- TABLE_NAME:您用來定義向量規格的資料表名稱。
您也可以視需要輸入 schema_name 或 column_name 參數。
套用向量輔助功能生成的建議後,即可使用向量索引。
生成搜尋查詢
您可以運用向量輔助功能,根據已部署向量工作負載的向量規格和產生的向量索引,建構最佳化搜尋查詢。如要產生最佳化搜尋查詢,請執行 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'
);
替換下列參數:
- SPEC_ID:要使用的規格 ID。
- TABLE_NAME:您用來定義向量規格的資料表名稱。
- COLUMN_NAME:您在向量規格中定義的原始文字資料欄名稱。
- SEARCH_TEXT:要在資料欄中搜尋的文字。
- TOP_K:要傳回的最近鄰點數量。
- TARGET_RECALL:您希望向量輔助功能達成的目標召回率。
- FILTER_EXPRESSION:搜尋查詢的任何篩選器,例如根據其他資料欄篩選。
如要查看生成搜尋查詢的所有可用參數完整清單,請參閱向量輔助參考資料。
此函式的輸出內容會傳回包含 SQL 查詢的文字。您可以視需要執行或儲存這項 SQL 查詢。
後續步驟
- 進一步瞭解 Vector Assist。
- 向量輔助參考資料。