AlloyDB for PostgreSQL 的 vector 擴充功能提供 pgvector 函式和運算子,可讓您將資料庫做為向量儲存庫使用。您可以在表格中新增vector欄,並將生成的嵌入項目儲存為向量值,用於語意搜尋和生成式 AI 工作負載。
必要的資料庫擴充功能
使用 vector 擴充功能 (0.5.0.google-1 以上版本),其中包含 pgvector 函式和運算子,可將生成的嵌入儲存為 vector 值。這是 Google 擴充的 pgvector 版本,並針對 AlloyDB 進行最佳化。
CREATE EXTENSION IF NOT EXISTS vector;
儲存生成的嵌入
請確認您已在 AlloyDB 資料庫中建立資料表。
如要儲存向量嵌入,請按照下列步驟操作:
在資料表中建立
vector[]資料欄,用於儲存嵌入:ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);更改下列內容:
TABLE:資料表名稱EMBEDDING_COLUMN:新嵌入欄的名稱DIMENSIONS:模型支援的維度數量。舉例來說,如果您在 Vertex AI 使用其中一個
text-embedding英文模型 (例如text-embedding-005),請指定768。
將向量複製到向量資料欄。以下範例假設嵌入位於 CSV 檔案中:
COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);更改下列內容:
TABLE:資料表名稱。EMBEDDING_COLUMN:嵌入資料欄的名稱。PATH_TO_VECTOR_CSV:儲存.CSV檔案的完整路徑。
儲存嵌入後,您可以使用 vector 擴充功能或 alloydb_scann 擴充功能建立索引,加快查詢速度。