Repolode
pgvector

pgvector/pgvector-python

为 Django、SQLAlchemy、Psycopg、asyncpg 等 Python 数据库库提供 pgvector 向量类型与相似度搜索支持。

Star
1,542
Fork
104
未关闭 Issue
9
最近提交
前天

这是什么?

pgvector-python 是一个 Python 客户端库,让应用可以通过 pgvector 扩展在 PostgreSQL 中存储和查询向量。它提供向量、半精度向量、位向量和稀疏向量类型,并支持 L2、内积、余弦、L1、Hamming 和 Jaccard 等距离运算。

该库支持 Django、SQLAlchemy、SQLModel、Psycopg 2/3、asyncpg、pg8000 和 Peewee 等常见 Python 数据库栈。每种集成都涵盖启用扩展、添加向量列、写入嵌入、执行最近邻查询以及创建 HNSW 或 IVFFlat 索引等常用步骤。

仓库还附带示例脚本,涵盖基于 Ollama 的检索增强生成、OpenAI 与 Cohere 嵌入、混合搜索、图像搜索、推荐系统以及使用 COPY 批量导入等场景。

核心功能

  • 01支持 Django、SQLAlchemy、SQLModel、Psycopg 2/3、asyncpg、pg8000 和 Peewee。
  • 02提供向量、半精度向量、位向量和稀疏向量字段类型。
  • 03支持 L2、内积、余弦、L1、Hamming 和 Jaccard 等距离运算。
  • 04可通过各库的 API 创建 HNSW 和 IVFFlat 近似索引。
  • 05支持 Python 列表、NumPy 数组与 SciPy 稀疏数组之间的转换。

适用场景

  • 为基于 PostgreSQL 的 Django 或 SQLAlchemy 应用添加语义搜索或 RAG 检索。
  • 将 OpenAI、Cohere 或 SentenceTransformers 生成的文本或图像嵌入存入 Postgres。
  • 在现有 Postgres 数据库中基于用户与物品向量构建推荐功能。

快速上手

  1. 1

    从 PyPI 安装该包

    pip install pgvector
  2. 2

    在 PostgreSQL 数据库中启用 pgvector 扩展(以 Psycopg 3 为例)

    conn.execute('CREATE EXTENSION IF NOT EXISTS vector')
  3. 3

    在连接上注册向量类型,然后按照 README 中对应库的说明插入和查询向量

    register_vector(conn)

使用前须知

  • 需要在 PostgreSQL 服务器上安装 pgvector 扩展。
  • 每个数据库库都需要单独的配置步骤和类型注册代码。

收录于专题

标签

常见问题

pgvector-python 是什么?
为 Django、SQLAlchemy、Psycopg、asyncpg 等 Python 数据库库提供 pgvector 向量类型与相似度搜索支持。 pgvector-python 是一个 Python 客户端库,让应用可以通过 pgvector 扩展在 PostgreSQL 中存储和查询向量。它提供向量、半精度向量、位向量和稀疏向量类型,并支持 L2、内积、余弦、L1、Hamming 和 Jaccard 等距离运算。
pgvector-python 可以免费使用吗?用的什么许可证?
pgvector-python 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
pgvector-python 还在维护吗?
活跃维护中。pgvector-python 最近一次提交是在 2026年11月5日。
pgvector-python 适合用来做什么?
为基于 PostgreSQL 的 Django 或 SQLAlchemy 应用添加语义搜索或 RAG 检索。 将 OpenAI、Cohere 或 SentenceTransformers 生成的文本或图像嵌入存入 Postgres。 在现有 Postgres 数据库中基于用户与物品向量构建推荐功能。
pgvector-python 怎么安装和运行?
从 PyPI 安装该包: pip install pgvector 在 PostgreSQL 数据库中启用 pgvector 扩展(以 Psycopg 3 为例): conn.execute('CREATE EXTENSION IF NOT EXISTS vector') 在连接上注册向量类型,然后按照 README 中对应库的说明插入和查询向量: register_vector(conn)
在哪里获取 pgvector-python?
源代码和安装说明在 GitHub 上:https://github.com/pgvector/pgvector-python

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目