存储向量嵌入

本页介绍了如何使用 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 扩展程序创建索引,以提高查询性能。

后续步骤