向量輔助功能總覽

向量輔助是 PostgreSQL 適用的 Cloud SQL 擴充功能,可簡化 Cloud SQL 向量工作負載的部署和管理作業。這項服務提供宣告式 SQL 架構,可協助您設定適用於正式環境的向量搜尋功能,例如嵌入生成、查詢最佳化和索引建立。這個架構可透過下列方式降低向量工作負載的複雜度:

  • 簡化意圖宣告:使用 SQL 函式宣告需求 (例如資料表、文字資料欄或目標召回)。
  • 自動執行最佳做法:生成最佳化 SQL 指令 (又稱最佳化建議),根據您定義的向量規格和最佳化自動調整演算法,設定向量工作負載,並計算最佳索引設定。
  • 提供透明度和控制權:自動執行工作時,會清楚說明每項建議,讓您能按照自己的步調查看、修改及套用建議。
  • 快速設計原型:可快速部署經過微調的向量搜尋設定,縮短從概念到投入正式環境的時間。
  • 著重於易用性:簡化語意搜尋的複雜性,縮小業務和工程需求之間的差距。

透過向量輔助功能,您可以建構具有語意搜尋功能的端對端應用程式,並簡化設定程序。

向量輔助功能的運作方式

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

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

向量輔助規格

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

  • 資料表和相關資料欄 (文字或向量)
  • 嵌入模型偏好設定 (如要生成嵌入)
  • 偏好的索引類型,例如 HNSWIVFFlat
  • 搜尋查詢的目標召回率
  • 記憶體限制或其他效能限制

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

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

向量輔助建議

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

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

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

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

限制

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

  • 向量輔助功能僅支援 PostgreSQL 12 以上版本。
  • 雖然向量輔助功能支援所有 pgvector 版本,但建議使用最新版本,以獲得最佳效能和功能支援。詳情請參閱pgvector變更記錄
  • 如果執行個體使用 google_ml_integration 擴充功能生成嵌入,使用向量輔助時也會套用相關限制。詳情請參閱模型端點管理總覽
  • 向量輔助功能僅支援 HNSWIVFFlat 索引類型。
  • 向量輔助功能僅支援文字嵌入模型,可自動生成嵌入項目,並使用 text_column_name 做為輸入參數。如果向量工作負載需要多模態嵌入模型,請使用 google_ml_integration 擴充功能或其他擴充功能手動生成這些嵌入,然後使用向量輔助功能對這些嵌入啟用語意搜尋。

後續步驟