90

Hybrid Search 엔진 구현

Day 2: Hybrid Search

학습 목표

BM25 + Semantic Search를 결합하는 코드를 작성할 수 있다 Score Fusion과 RRF 두 가지 결합 방법을 구현할 수 있다 알파 가중치를 최적화하는 방법을 적용할 수 있다 제조 쿼리 유형별 적응형 가중치를 설정할 수 있다

Hybrid Search 엔진 구현

BM25와 Semantic Search를 결합하는 Hybrid Search를 구현하자. 두 가지 결합 방법(Score Fusion, RRF)을 모두 만들고 비교한다.

목표

  1. BM25 인덱스 구축
  2. Score Fusion (가중 합산) 구현
  3. RRF (Reciprocal Rank Fusion) 구현
  4. 쿼리 유형별 적응형 가중치

아래 스타터 코드를 완성하세요.

에디터 로딩 중...
힌트 보기
  • BM25Okapi는 토크나이즈된 코퍼스(2D list)를 생성자에 전달합니다
  • ChromaDB의 distance를 similarity로 변환: similarity = 1 - distance
  • Score Fusion 전에 반드시 Min-Max 정규화를 적용하세요 (BM25와 cosine의 스케일이 다릅니다)
  • RRF에서 검색 결과에 없는 문서의 순위는 initial_k + 1로 설정합니다
정답 보기
에디터 로딩 중...