向量輔助功能總覽

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

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

向量輔助功能的運作方式

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

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

Vector Assist 規格

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

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

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

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

向量輔助建議

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

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

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

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

限制

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

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

後續步驟