docs: RRF score와 threshold 스케일 불일치 원인 추가
- RRF 점수(0.01~0.03)가 threshold(0.35)와 스케일 불일치 확인 - vector_score OR 조건으로 우회되지만 relevance_score 기준 정렬에 영향 - 실측 데이터 추가 (hybrid rrf=0.032 vs vector=0.775) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3e78c7cf6e
commit
9bd9459912
@ -71,11 +71,32 @@ DB 실측 (키워드 '투자', Company X 청크 대상):
|
||||
|
||||
검색이 무관한 문서를 반환하면 LLM이 `failure_reason`을 설정하여 실패 응답 생성. 이는 엉뚱한 문서로 답변하는 것보다 나은 정상 동작.
|
||||
|
||||
### 3. RRF 점수와 threshold 불일치 — hybrid 모드의 숨은 문제
|
||||
|
||||
hybrid 모드에서 `relevance_score`가 RRF 점수로 대체된다. RRF 점수는 구조적으로 낮다:
|
||||
|
||||
| 모드 | top-1 relevance_score | threshold | 통과 여부 |
|
||||
|------|----------------------|-----------|-----------|
|
||||
| vector | 0.775 (cosine) | 0.35 | ✅ |
|
||||
| hybrid | **0.032** (RRF: 1/(60+1)) | 0.35 | ❌ (vector_score OR 조건으로 우회) |
|
||||
|
||||
실측 (질문: "아크로셀 개인투자조합 제2호 정기주총 서류 있어?"):
|
||||
- vector: score=0.775, total=5
|
||||
- hybrid: rrf=0.032, vector_score=0.775, total=5
|
||||
|
||||
현재 `hybrid_search()`의 필터가 `vector_score >= threshold OR keyword_score >= threshold OR relevance_score >= threshold`로 OR 조건이라 결과가 반환되긴 한다. 하지만:
|
||||
- **`relevance_score`(=rrf)가 0.03 수준**이므로, 이 값을 신뢰하는 다른 컴포넌트가 있으면 잘못된 판단을 할 수 있다
|
||||
- **grounding_service의 `_select_top_results()`가 `relevance_score` 기준으로 정렬**하므로, hybrid 모드에서 RRF 점수 기준 정렬이 벡터 유사도 정렬과 다를 수 있다
|
||||
- threshold 0.35는 cosine similarity 기준으로 설계된 값이고, RRF 점수 범위(0.01~0.03)와 스케일이 맞지 않는다
|
||||
|
||||
이것은 keyword recall=0과 별개의 문제다. keyword가 정상 작동해도 RRF 점수는 최대 `1/(60+1) + 1/(60+1)` ≈ 0.033이므로 threshold 0.35를 절대 넘지 못한다.
|
||||
|
||||
## 원인 요약
|
||||
|
||||
| 실패 | 직접 원인 | 계층 |
|
||||
|------|----------|------|
|
||||
| keyword recall = 0 | `simple` 토크나이저가 한국어 조사 분리 불가 | DB/인덱스 |
|
||||
| RRF score ≪ threshold | RRF 점수(0.01~0.03)와 threshold(0.35)의 스케일 불일치 | 검색/점수 |
|
||||
| 인덱싱 문서 있는데 검색 실패 | 벡터 임베딩이 해당 청크를 근접 이웃으로 잡지 못함 + keyword 보완 불가 | 검색 |
|
||||
| 3건 grounding 미진입 | intent/domain 마커에 일반 질문 패턴 미포함 | 라우팅 |
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user