向量輔助是 PostgreSQL 適用的 Cloud SQL 擴充功能,可簡化 Cloud SQL 向量工作負載的部署和管理作業。這項服務提供宣告式 SQL 架構,可協助您設定適用於正式環境的向量搜尋功能,例如嵌入生成、查詢最佳化和索引建立。這個架構可透過下列方式降低向量工作負載的複雜度:
- 簡化意圖宣告:使用 SQL 函式宣告需求 (例如資料表、文字資料欄或目標召回)。
- 自動執行最佳做法:生成最佳化 SQL 指令 (又稱最佳化建議),根據您定義的向量規格和最佳化自動調整演算法,設定向量工作負載,並計算最佳索引設定。
- 提供透明度和控制權:自動執行工作時,會清楚說明每項建議,讓您能按照自己的步調查看、修改及套用建議。
- 快速設計原型:可快速部署經過微調的向量搜尋設定,縮短從概念到投入正式環境的時間。
- 著重於易用性:簡化語意搜尋的複雜性,縮小業務和工程需求之間的差距。
透過向量輔助功能,您可以建構具有語意搜尋功能的端對端應用程式,並簡化設定程序。
向量輔助功能的運作方式
如要使用向量輔助功能,必須先定義向量規格。架構會使用這些向量規格 (又稱向量規格),產生建立向量索引所需的步驟。Vector 輔助功能會輸出部署向量工作負載所需的步驟,做為建議。每次修改向量規格時,向量輔助功能都會重新生成建議。
使用這些建議步驟產生向量索引後,即可使用向量輔助功能產生最佳化搜尋查詢。
向量輔助規格
設定向量索引規格 (或向量規格) 是使用向量輔助功能的第一步。向量規格是物件,用於定義向量工作負載的意圖和需求。其中包含所有必要資訊,包括:
您可以使用 vector_assist.define_spec 函式定義向量規格,並隨時修改。系統會為每個規格指派專屬 ID,並儲存在名為 vector_assist.vector_specs 的資料表中。
向量輔助功能會推斷規格輸入內容,並使用最佳化自動調整演算法計算最佳索引設定。向量輔助功能會使用這些值簡化開發流程,但您仍可自訂這些值,以符合個人偏好。
向量輔助建議
定義向量規格後,向量輔助功能會處理輸入內容並產生建議。這些建議是實用步驟的排序清單 (通常是 SQL 指令),您必須執行這些步驟,才能根據規格部署向量工作負載。每項建議都包含:
- 要執行的 SQL 查詢。
- 詳細說明查詢內容和建議原因。
- 潛在取捨或成本的相關資訊,例如預估索引大小或建構時間。
向量輔助會將建議儲存在名為「vector_assist.recommendation」的表格中,您可以逐一或整體查看、修改及套用建議。
每次修改工作負載的向量規格時,向量輔助功能都會重新產生建議,以符合更新後的規格。
限制
將向量輔助功能與 PostgreSQL 適用的 Cloud SQL 執行個體搭配使用時,請注意下列限制:
- 向量輔助功能僅支援 PostgreSQL 12 以上版本。
- 雖然向量輔助功能支援所有
pgvector版本,但建議使用最新版本,以獲得最佳效能和功能支援。詳情請參閱pgvector變更記錄。 - 如果執行個體使用
google_ml_integration擴充功能生成嵌入,使用向量輔助時也會套用相關限制。詳情請參閱模型端點管理總覽。 - 向量輔助功能僅支援
HNSW和IVFFlat索引類型。 - 向量輔助功能僅支援文字嵌入模型,可自動生成嵌入項目,並使用
text_column_name做為輸入參數。如果向量工作負載需要多模態嵌入模型,請使用google_ml_integration擴充功能或其他擴充功能手動生成這些嵌入,然後使用向量輔助功能對這些嵌入啟用語意搜尋。