本页介绍了如何使用 AlloyDB 作为矢量数据库,并使用包含 pgvector
函数和运算符的 vector
扩展程序。借助这些函数和运算符,您可以将嵌入存储为矢量值。
必需的数据库扩展
使用 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
:模型支持的维度数。例如,如果您使用的是
text-embedding
英语模型之一(例如,将text-embedding-005
与 Vertex AI 搭配使用),请指定768
。
将向量复制到“向量”列。以下示例假定您的嵌入数据位于 CSV 文件中:
COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);
替换以下内容:
PATH_TO_VECTOR_CSV
:.csv
文件的存储路径的完整路径。
存储嵌入后,您可以使用 vector
扩展程序或 alloydb_scann
扩展程序创建索引,以提高查询性能。