본문으로 건너뛰기

벡터 DB(Vector DB) / 유사도 검색

← 용어 사전

한 줄 정의

  • 벡터 DB(Vector DB): 임베딩 벡터를 저장하고 빠르게 검색하기 위한 저장소/엔진
  • 유사도 검색(Similarity Search): 쿼리 벡터와 “가까운” 벡터(문서)를 찾는 검색 방식

왜 중요한가(실무)

RAG의 체감 품질은 “모델”보다 “검색”이 좌우하는 경우가 많다.
검색이 틀리면, 생성은 틀린 근거를 그럴듯하게 설명하는 방향으로 가기 쉽다.

핵심 이론(운영에 필요한 만큼)

1) 근사 최근접(ANN)이라는 현실

벡터 검색은 보통 “완벽한 최적해”보다 “충분히 좋은 근사해”를 빠르게 찾는다.
그래서 운영 관점에서는 정확도뿐 아니라:

  • 지연(latency)
  • 비용
  • 스케일(데이터 증가) 를 같이 본다.

2) 필터링과 권한이 중요하다

실무에서는 “검색 결과에 나오면 안 되는 문서”가 존재한다(권한, 부서, 기밀).
벡터 검색은 권한 필터가 없으면 곧바로 정보 노출 사고로 이어질 수 있다.

실무 포인트

1) 검색 품질 지표를 잡자

예: “상위 5개 근거 중 정답 문서가 포함되는 비율”, “근거 문서 최신 버전 비율”

2) 하이브리드 검색을 고려하자

키워드(BM25) + 벡터를 함께 쓰면:

  • 고유명사/코드/제품명 같은 키워드 정확도를 살리고
  • 의미 유사 검색의 장점도 가져갈 수 있다.

체크리스트

  • 문서 권한/부서 분리가 필터로 적용되는가
  • 대표 질문 세트로 검색 품질을 정기적으로 점검하는가
  • 문서 업데이트(버전/폐기)와 인덱스 갱신이 연결되어 있는가