T
TechInsights
목록으로
BigData•2026. 05. 13.

Aurora PostgreSQL에서 한국어 하이브리드 검색 구현하기: pg_bigm + pgvector로 만드는 한국어 특화 RAG

AWS
AWS Engineering Team
AWS

핵심요약

원문 보기

Aurora PostgreSQL에서 pg_bigm과 pgvector를 RRF로 결합하여 한국어 RAG 애플리케이션의 검색 품질을 개선하는 방법을 설명합니다. 한국어의 특성상 키워드 검색과 시맨틱 검색의 결합이 필수적이며, 이를 통해 검색 정확도와 관련성을 높일 수 있습니다.

Aurora PostgreSQL에서 한국어 하이브리드 검색 구현하기: pg_bigm + pgvector로 만드는 한국어 특화 RAG

한국어 RAG 검색 품질 개선을 위한 하이브리드 검색

  • 한국어는 교착어 특성상 영어 기반 벡터 검색만으로는 정확한 결과를 얻기 어렵습니다.
  • 고유명사, 전문 용어 누락 및 조사/어미 변화, 복합어 처리 문제로 키워드 검색(pg_bigm)과 벡터 검색(pgvector)의 결합이 필수적입니다.
  • 본 글에서는 Amazon Aurora PostgreSQL에서 pg_bigm과 pgvector를 RRF(Reciprocal Rank Fusion)로 결합하여 한국어 RAG 애플리케이션의 검색 품질을 개선하는 방법을 다룹니다.

아키텍처 개요 및 주요 구성 요소

  • Data Ingestion Pipeline: S3 원본 문서를 Lambda/ECS로 청킹, Bedrock Titan Embeddings V2로 벡터 변환 후 Aurora PostgreSQL에 저장 (pg_bigm GIN 인덱스, pgvector HNSW 인덱스 생성).
  • Retrieval & Generation Pipeline: 사용자 질문을 키워드와 쿼리 임베딩으로 변환하여 pg_bigm과 pgvector로 각각 검색.
  • RRF 결합: 두 검색 결과를 RRF로 결합하여 Top-K 관련 문서 반환.
  • LLM 생성: 반환된 컨텍스트 기반으로 Amazon Bedrock Claude가 최종 한국어 답변 생성.

pg_bigm: 한국어 키워드 검색 강화

  • PostgreSQL 기본 전문 검색(tsvector)의 한국어 처리 한계를 극복하기 위해 pg_bigm(바이그램) 활용.
  • 2글자 단위 인덱싱으로 한국어 조사/어미 변화 및 부분 문자열 매칭에 효과적.
  • LIKE 대신 =% 연산자 및 pg_bigm.similarity_limit 설정으로 유연한 매칭 가능.
  • GIN 인덱스 크기 증가 가능성 있으므로, 500~1,000자 단위 청킹 권장.

pgvector: 시맨틱 검색으로 의미 기반 매칭

  • 자연어 질문, 동의어/관련 개념 매칭에 강점.
  • 임베딩 벡터 간 코사인 유사도를 계산하여 의미적으로 관련된 문서 검색.
  • 실제 테스트 결과, 2단어 조합 및 자연어 질문에서 하이브리드 검색의 장점 극대화.

RRF 결합 및 RAG 파이프라인 적용

  • RRF(Reciprocal Rank Fusion) 알고리즘으로 서로 다른 검색 결과의 순위를 기반으로 결합.
  • 공식: RRF_score = Σ weight / (k + rank).
  • RAG 파이프라인에서는 LLM 또는 형태소 분석을 통해 핵심 키워드를 추출하여 query_text로 전달하는 것이 효과적.
#BigData#BackEnd#AI
AWS
AWS

AWS Engineering Team

기술 인사이트를 전달하는 공식 채널

You might also like

View all
토스 피플 : 새로운 길을 만들 땐 내 선택을 믿는다

토스 피플 : 새로운 길을 만들 땐 내 선택을 믿는다

"이 버튼 왜 안 눌려요?" 물류 현장의 목소리로 PDA 시스템 완성하기

"이 버튼 왜 안 눌려요?" 물류 현장의 목소리로 PDA 시스템 완성하기