儲存向量嵌入

本頁說明如何搭配使用 AlloyDB 做為向量資料庫,以及包含 pgvector 函式和運算子的 vector 擴充功能。這些函式和運算子可讓您將嵌入儲存為向量值。

必要的資料庫擴充功能

使用 vector 擴充功能 (版本 0.5.0.google-1 以上),其中包含 pgvector 函式和運算子,將產生的嵌入內容儲存為 vector 值。這是 Google 擴充的 pgvector 版本,專為 AlloyDB 進行最佳化。

CREATE EXTENSION IF NOT EXISTS vector;

儲存生成的嵌入

請確認您已在 AlloyDB 資料庫中建立資料表。

如要儲存向量嵌入,請按照下列步驟操作:

  1. 在資料表中建立 vector[] 欄,用來儲存嵌入內容:

    ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);
    

    更改下列內容:

    • TABLE:資料表名稱

    • EMBEDDING_COLUMN:新嵌入資料欄的名稱

    • DIMENSIONS:模型支援的維度數量。

      舉例來說,如果您使用 text-embedding 英文模型 (例如 text-embedding-005),請在 Vertex AI 中指定 768

  2. 將向量複製到向量資料欄。下列範例假設您可透過 CSV 檔案取得嵌入內容:

    COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);
    

    更改下列內容:

    • PATH_TO_VECTOR_CSV:儲存 .csv 檔案的完整路徑。

儲存嵌入後,您可以使用 vector 擴充功能或 alloydb_scann 擴充功能建立索引,加快查詢速度。

後續步驟