在 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)、内积、余弦相似度等。对于语义搜索,余弦相似度通常是最佳选择。