使用向量輔助功能

本頁說明如何使用向量輔助功能,在 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_idtable_name 參數執行 vector_assist.apply_spec 函式:

SELECT vector_assist.apply_spec(
  spec_id => 'SPEC_ID',
  table_name => 'TABLE_NAME'
);

替換下列參數:

  • SPEC_ID:要使用的向量規格 ID。
  • TABLE_NAME:您用來定義向量規格的資料表名稱。

您也可以視需要輸入 schema_namecolumn_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 查詢。

後續步驟