在 PostgreSQL 上直接实现向量检索,无需额外引入 Milvus 或 Pinecone。本文介绍 PgVector 的安装、索引优化和实际应用场景。

什么是 PgVector

PgVector 是 PostgreSQL 的一个扩展,它为 PostgreSQL 添加了向量数据类型和相似度搜索功能。这意味着你可以用熟悉的 SQL 语法进行向量检索。

安装

CREATE EXTENSION vector;

就这么简单。如果你使用 Docker,官方 postgres 镜像已经包含了 pgvector 扩展。

创建向量表

CREATE TABLE items (
    id bigserial PRIMARY KEY,
    embedding vector(1536)
);

相似度搜索

PgVector 支持多种距离度量方式:欧氏距离(L2)、内积、余弦相似度等。对于语义搜索,余弦相似度通常是最佳选择。