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 저장소에 공개돼 있어요.

더 알아보기