ChuckHend/pg_vectorize

Full-text and semantic search on any Postgres

它解决了什么问题

pg_vectorize 通过自动化将文本转化为嵌入向量的过程,并管理搜索编排,将 Postgres 变成 VectorDB。它简化了检索增强生成(RAG)和搜索引擎的创建,让向量搜索、全文搜索和混合搜索的维护都在数据库环境中完成。

它如何工作

项目提供两种部署模式:

  1. HTTP Server:一个独立服务,连接到 Postgres 并暴露 REST API 用于创建嵌入任务和执行搜索。推荐用于无法安装扩展的托管数据库。
  2. Postgres Extension:在数据库内部实现,用户可以使用 vectorize.table()vectorize.search() 等 SQL 函数直接操作。

它利用 pgvector 进行相似度搜索,pgmq 负责后台工作编排,并使用 SentenceTransformers 生成嵌入。

适用人群

构建 RAG 应用或搜索引擎的开发者,想把 Postgres 作为主要向量存储并自动化嵌入流水线。

亮点

  • 混合搜索:支持语义、全文和混合搜索能力。
  • 自动化维护:持续监控更新或新数据,确保嵌入及时更新。
  • 灵活部署:同时提供受管数据库的 REST API 与自托管 Postgres 的原生 SQL 扩展。
  • 集成:基于已成熟的工具如 pgvector 和 SentenceTransformers 构建。