儲存向量嵌入

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 資料庫中建立資料表。

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

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

    ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);
    

    更改下列內容:

    • TABLE:資料表名稱

    • EMBEDDING_COLUMN:新嵌入欄的名稱

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

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

  2. 將向量複製到向量資料欄。以下範例假設嵌入位於 CSV 檔案中:

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

    更改下列內容:

    • TABLE:資料表名稱。

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

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

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

後續步驟