> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# 랭킹과 가중치

> 어떤 청크가 먼저 돌아올지 결정하는 노브.

필터링이 후보 풀을 마련합니다. **랭킹** 이 승자를 뽑습니다. Nora 는 여러 레버를 노출합니다.

## 융합 가중치

주요 노브: 벡터 vs. 키워드를 얼마나 신뢰할지.

* **Vector weight** (0.0-1.0) — 밀집 시맨틱 유사도.
* **Keyword weight** (0.0-1.0) — BM25 어휘 겹침.

가중치는 절대값이 아니라 상대값 — `0.7/0.3` 은 `0.35/0.15` 와 같이 동작. 강조를 이동시키기 위해 조정.

## 부스트

최근성 부스트, 태그 부스트, 소스 부스트. 모두 옵션, 모두 융합 점수에 곱셈.

### 최근성 부스트

새 콘텐츠가 더 높게 랭크. 두 형태:

* **Decay** — 반감기 (일수). 오래된 청크가 매끄러운 곡선으로 낮게 점수.
* **Hard cutoff** — N일보다 오래된 청크 완전 배제 (사실 부스트보다 필터로 하는 게 나음).

### 태그 부스트

태그로 부스트 또는 강등. 예: `verified` 청크 1.5× 부스트, `internal-draft` 청크 0.5× 강등.

### 소스 부스트

특정 문서·컬렉션 부스트. 크롤한 사본보다 선호하고 싶은 정본 소스가 있을 때 유용.

## 리랭커

상위 \~20 융합 결과에 대한 옵션 크로스 인코더 패스. 각 (쿼리, 청크) 쌍을 함께 읽는 작은 트랜스포머로 재점수 — 임베딩 코사인 유사도 단독보다 훨씬 정확.

* 150-300ms 지연 추가.
* 쿼리당 작은 비용 추가.
* 어려운 쿼리에서 recall\@1 을 유의미하게 개선.

리트리벌 프리셋에서 켬. 설정 가능: **rerank top K** (얼마나 많은 후보를 리랭크할지, 기본 20) 와 **model** (사용 가능한 크로스 인코더 중 선택).

## 다양성

가끔 상위 6 청크가 모두 근접 중복. **Diversity** 켜서 어느 정도 분산 강제:

* **MMR (Maximum Marginal Relevance)** — 약간의 관련성을 덜한 중복성과 교환. 람다 설정 (0=최대 다양성, 1=최대 관련성). 기본 0.7.
* **Group cap** — 소스당 최대 N 청크. 하나의 큰 문서가 상위 결과를 밀어내는 것 방지.

## 점수 컷오프

컷오프 아래 청크는 top K 에 있어도 드롭. K 쿼터를 채우려고 낮은 신뢰 매치를 Agent 에게 건네는 것 방지.

점수는 RRF 공간, 대략 0-1. 기본 컷오프 0.15. 높은 정밀도 원하면 올림; 높은 리콜 원하면 (또는 0으로) 내림.

## 쿼리 시점 오버라이드

위의 어느 것이든 호출별 오버라이드 가능. Agent 는 도메인이 고위험이면 더 높은 컷오프 설정, 또는 "safety" 나 "compliance" 를 포함하는 질문에만 리랭커 켬.

## 동작 관찰

트레이스 뷰가 리트리벌 스텝을 보여줌:

* 사용된 최종 쿼리 (재작성 후).
* 모든 후보의 벡터 점수, 키워드 점수, 융합 점수, 적용된 부스트.
* 리랭커가 순서를 바꿨는지 여부.

리트리벌이 이상하게 느껴지면 여기가 먼저 볼 곳.
