ChuckHend/pg_vectorize
Full-text and semantic search on any Postgres
它解决了什么问题
pg_vectorize 通过自动化将文本转化为嵌入向量的过程,并管理搜索编排,将 Postgres 变成 VectorDB。它简化了检索增强生成(RAG)和搜索引擎的创建,让向量搜索、全文搜索和混合搜索的维护都在数据库环境中完成。
它如何工作
项目提供两种部署模式:
- HTTP Server:一个独立服务,连接到 Postgres 并暴露 REST API 用于创建嵌入任务和执行搜索。推荐用于无法安装扩展的托管数据库。
- Postgres Extension:在数据库内部实现,用户可以使用
vectorize.table()、vectorize.search()等 SQL 函数直接操作。
它利用 pgvector 进行相似度搜索,pgmq 负责后台工作编排,并使用 SentenceTransformers 生成嵌入。
适用人群
构建 RAG 应用或搜索引擎的开发者,想把 Postgres 作为主要向量存储并自动化嵌入流水线。
亮点
- 混合搜索:支持语义、全文和混合搜索能力。
- 自动化维护:持续监控更新或新数据,确保嵌入及时更新。
- 灵活部署:同时提供受管数据库的 REST API 与自托管 Postgres 的原生 SQL 扩展。
- 集成:基于已成熟的工具如 pgvector 和 SentenceTransformers 构建。