ChuckHend/pg_vectorize
Full-text and semantic search on any Postgres
해결하고자 하는 문제
pg_vectorize는 텍스트를 임베딩으로 변환하는 과정을 자동화하고 검색 오케스트레이션을 관리함으로써 Postgres를 VectorDB로 변환합니다. 벡터 검색, 전체 텍스트 검색, 하이브리드 검색의 유지 관리를 데이터베이스 환경 내에서 처리하여 Retrieval‑Augmented Generation(RAG) 및 검색 엔진 구축을 단순화합니다.
작동 방식
프로젝트는 두 가지 배포 모드를 제공합니다.
- HTTP Server: Postgres에 연결하고 임베딩 작업 생성 및 검색을 수행하는 REST API를 제공하는 독립 서비스입니다. 확장 기능을 설치할 수 없는 관리형 데이터베이스에 권장됩니다.
- Postgres Extension: 데이터베이스 내부에 구현되어
vectorize.table()및vectorize.search()와 같은 SQL 함수를 직접 사용할 수 있습니다.
pgvector를 이용한 유사도 검색, pgmq를 통한 백그라운드 워커 오케스트레이션, SentenceTransformers를 통한 임베딩 생성을 활용합니다.
대상 사용자
Postgres를 주요 벡터 저장소로 사용하고 임베딩 파이프라인을 자동화하려는 RAG 애플리케이션 또는 검색 엔진을 구축하는 개발자를 위한 것입니다.
주요 특징
- 하이브리드 검색: 의미 검색, 전체 텍스트 검색, 하이브리드 검색 기능을 지원합니다.
- 자동 유지 보수: 업데이트 또는 새로운 데이터를 지속적으로 감시하여 임베딩을 자동으로 최신 상태로 유지합니다.
- 유연한 배포: 관리형 DB용 REST API와 자체 호스팅 Postgres용 네이티브 SQL 확장을 모두 제공합니다.
- 통합: pgvector 및 SentenceTransformers와 같은 검증된 도구 위에 구축되었습니다.