向量輔助功能總覽

Vector Assist 是 AlloyDB for PostgreSQL 擴充功能,提供宣告式 SQL 架構,用於部署及管理向量搜尋工作負載。您不必手動設定嵌入生成、索引參數和查詢調整,而是使用 SQL 函式宣告工作負載需求,例如目標資料表、來源文字欄和喚回度目標。

向量輔助功能會根據您的向量規格,使用自動調整演算法生成最佳化 SQL 建議和說明,供您查看、修改及套用。這項工作流程可協助您設計原型,並部署可用於正式環境的語意搜尋應用程式,只需執行最基本的手動設定作業。

向量輔助功能的運作方式

您必須定義向量規格,才能使用向量輔助功能。框架會使用這些向量規格,產生建立向量索引所需的步驟。向量輔助功能會輸出部署向量工作負載所需的步驟,做為建議。每次修改向量規格時,向量輔助功能都會重新生成建議。

按照這些建議步驟生成向量索引後,即可使用向量輔助功能生成最佳化搜尋查詢。

Vector Assist 規格

如要使用向量輔助功能,第一步是設定向量索引規格,也就是向量規格。向量規格是一種物件,用於定義向量工作負載的意圖和需求。其中包含所有必要資訊,包括:

  • 資料表和相關資料欄 (文字或向量)
  • 嵌入模型偏好設定 (如使用嵌入生成功能)
  • 偏好的索引類型:HNSW 或 IVFFlat。不支援 ScaNN。
  • 搜尋查詢的目標召回率
  • 記憶體限制

您可以使用 vector_assist.define_spec 函式定義向量規格,並隨時修改。系統會為每項規格指派專屬 ID,並儲存在名為 vector_assist.VECTOR_SPECS 的資料表中。

向量輔助功能會推論規格輸入內容,並採用最佳化的自動調整演算法,計算出最佳索引設定。雖然向量輔助功能會使用這些值來簡化開發程序,但您仍可依偏好自訂這些值。

Vector Assist 建議

定義向量規格後,向量輔助功能會處理輸入內容並產生建議。這些建議會列出實用步驟 (通常是 SQL 指令),您必須按照順序執行,才能依據規格部署向量工作負載。每項最佳化建議都包含下列資訊:

  • 要執行的 SQL 查詢。
  • 詳細說明查詢的作用和建議原因。
  • 潛在權衡或成本的相關資訊,例如預估索引大小或建構時間。

Vector Assist 會將建議儲存在名為 vector_assist.RECOMMENDATIONS 的資料表中,您可以逐一或整體查看、修改及套用建議。

每次修改工作負載的向量規格時,向量輔助功能都會重新產生建議,確保符合更新後的規格。

限制

將向量輔助功能與 AlloyDB 執行個體搭配使用時,請注意下列限制:

  • 向量輔助功能僅支援 PostgreSQL 17 以上版本。
  • 雖然向量輔助功能支援所有 pgvector 版本,但建議使用最新版本,以獲得最佳效能和功能支援。詳情請參閱 pgvector 變更記錄。
  • 如果執行個體使用 google_ml_integration 擴充功能生成嵌入,則使用向量輔助功能時,也須遵守相關限制。詳情請參閱「在 AlloyDB 註冊及呼叫遠端 AI 模型總覽」。
  • 向量輔助僅支援 HNSW 和 IVFFlat 索引類型。不支援 ScaNN 索引類型。
  • 向量輔助功能僅支援文字嵌入模型,可自動生成嵌入,並使用 text_column_name 做為輸入參數。如果向量工作負載需要多模態嵌入模型,請使用 google_ml_integration 擴充功能或其他擴充功能,手動生成這些嵌入,然後使用向量輔助功能,對這些嵌入啟用語意搜尋。

後續步驟