pgvector/pgvector-python

pgvector support for Python

解决的问题

它为 pgvector PostgreSQL 扩展提供 Python 支持,使开发人员能够使用主流的 Python 数据库库,直接在 PostgreSQL 数据库中存储、查询和索引向量嵌入 (vector embeddings)。

运作方式

该库与多种 Python ORM 和数据库驱动程序集成,支持向量类型和距离运算符。它支持多种向量格式,包括标准向量、半精度向量、位向量和稀疏向量。此外,它还允许创建如 HNSW 和 IVFFlat 等近似最近邻 (ANN) 索引,以加速搜索速度。

适用对象

将 PostgreSQL 作为向量数据库,用于检索增强生成 (RAG)、图像搜索和推荐系统等 AI 应用程序的 Python 开发人员。

特色亮点

  • 广泛的库支持:集成 Django、SQLAlchemy、SQLModel、Psycopg 3、Psycopg 2、asyncpg、pg8000 和 Peewee。
  • 多种向量类型:支持 Vector、HalfVector、Bit 和 SparseVector,满足不同的精度和存储需求。
  • 多种距离度量:支持 L2 距离、余弦距离、内积、L1 距离、汉明距离和杰卡德距离。
  • 索引选项:提供简单的 Python 原生方式来创建 HNSW 和 IVFFlat 索引。
  • 丰富的示例:包含 RAG、混合搜索、ColBERT 和视觉文档检索的实现示例。

相关

  • 项目
  • 项目
  • 项目
  • 项目