Vector Assist 是 AlloyDB for PostgreSQL 擴充功能,提供宣告式 SQL 架構,用於部署及管理向量搜尋工作負載。您不必手動設定嵌入生成、索引參數和查詢調整,而是使用 SQL 函式宣告工作負載需求,例如目標資料表、來源文字欄和喚回度目標。
向量輔助功能會根據您的向量規格,使用自動調整演算法生成最佳化 SQL 建議和說明,供您查看、修改及套用。這項工作流程可協助您設計原型,並部署可用於正式環境的語意搜尋應用程式,只需執行最基本的手動設定作業。
向量輔助功能的運作方式
您必須定義向量規格,才能使用向量輔助功能。框架會使用這些向量規格,產生建立向量索引所需的步驟。向量輔助功能會輸出部署向量工作負載所需的步驟,做為建議。每次修改向量規格時,向量輔助功能都會重新生成建議。
按照這些建議步驟生成向量索引後,即可使用向量輔助功能生成最佳化搜尋查詢。
Vector Assist 規格
如要使用向量輔助功能,第一步是設定向量索引規格,也就是向量規格。向量規格是一種物件,用於定義向量工作負載的意圖和需求。其中包含所有必要資訊,包括:
您可以使用 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擴充功能或其他擴充功能,手動生成這些嵌入,然後使用向量輔助功能,對這些嵌入啟用語意搜尋。