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 建置。