본문으로 건너뛰기

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

← 용어 사전

한 줄 정의​

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

왜 중요한가(실무)​

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

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

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

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

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

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

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

실무 포인트​

1) 검색 품질 지표를 잡자​

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

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

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

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

체크리스트​

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