如何使用 pgvector 在 Postgres 中存储嵌入?

5 min read

要在 Postgres 中使用 pgvector 存储嵌入,需要执行以下步骤:

  1. 安装 pgvector 扩展:pgvector 是一个 Postgres 扩展,用于存储和查询嵌入向量。要安装 pgvector,可以使用以下命令:
git clone https://github.com/louisabraham/pgvector.git
cd pgvector
make install
  1. 创建 pgvector 列:要在表中存储嵌入向量,需要创建一个 pgvector 类型的列。可以使用以下命令创建表:
CREATE TABLE embeddings (
    id serial primary key,
    embedding vector(100)
);

这个例子中的 vector(100) 表示存储一个长度为100的向量。

  1. 插入嵌入向量:要插入嵌入向量,可以使用以下命令:
INSERT INTO embeddings (embedding) VALUES ('{0.1, 0.2, 0.3}');

这个例子中的向量是一个三元素的向量,包含了浮点数值。

  1. 查询嵌入向量:要查询嵌入向量,可以使用以下命令:
SELECT * FROM embeddings WHERE embedding <-> '{0.2, 0.3, 0.4}' < 0.1;

这个例子中的查询使用了 <-> 运算符,该运算符可以测量两个向量之间的距离。如果两个向量之间的距离小于0.1,则返回匹配的行。

通过使用以上步骤,我们就能在 Postgres 中使用 pgvector 存储和查询嵌入向量了。