Supabase AI & 벡터 — pgvector로 벡터 저장·검색·RAG
Supabase AI & 벡터
RAG(검색 증강 생성)를 만들 때 가장 흔한 고민은 '임베딩을 어디에 저장하고 어떻게 검색할까'예요. Supabase의 핵심 철학은 **'최고의 벡터 DB는 이미 가지고 있는 데이터베이스'**라는 것. Postgres와 pgvector를 활용해 벡터를 저장·인덱싱·검색하는 오픈소스 툴킷을 제공해요.
툴킷 구성 요소
- Vector store: Postgres + pgvector로 임베딩 벡터 컬럼을 만들고 확장 가능하게 저장·인덱싱
- Python 클라이언트(vecs): 비정형 임베딩을 관리하는 전용 Python 클라이언트
- 임베딩 생성: Edge Functions에서 오픈소스 모델로 바로 임베딩을 생성
- 데이터베이스 마이그레이션: 구조화된 임베딩을 관리하는 마이그레이션 도구
- AI 제공자 통합: OpenAI, Hugging Face, LangChain 등 모든 주요 AI 제공자와 연동
검색 기능
Supabase로 만들 수 있는 검색은 목적에 따라 나뉘어요.
- 의미론적 검색(semantic): 정확한 키워드 대신 '의미'로 검색 (벡터 유사도)
- 키워드 검색(keyword): 단어·구절로 검색
- 하이브리드 검색(hybrid): 의미론적 검색과 키워드 검색을 결합해 정확도와 재현율을 모두 잡기
OpenAI·Hugging Face·LangChain과의 통합을 그대로 활용하면 기존 AI 파이프라인에 Supabase를 붙이기 쉬워요. RAG 구성 '예시'와 템플릿도 GitHub 저장소에 공개돼 있어요.