재순위화 (Reranking)¶
1차 검색으로 상위 K개 후보를 뽑았어도, 그 순서가 항상 생성에 가장 좋은 순서는 아니에요. 벡터 유사도가 높다고 답에 꼭 쓸모 있는 조각인 건 아니니까요. 그래서 이미 뽑힌 후보를 다시 질문과 대조해 순서를 정렬하는 단계가 재순위화(Reranking) 입니다.
우리는 검색 후보 재정렬에 Cohere Reranker를 씁니다. 이 페이지는 소스 문서 Cohere Rerank 를 바탕으로 설명합니다.
상황부터 — 검색 결과 순서가 왜 부족한가¶
초기 검색(특히 벡터 검색)은 "후보를 빠르고 넓게" 뽑는 데 목적이 있어요. 그래서 관련 없는 조각이 상위에 섞일 수 있고, 순서도 실제 유용성과 안 맞을 수 있습니다. 재순위화는 후보 수를 줄인 뒤, 각 조각을 질문과 직접 대조해 관련도 점수를 다시 매겨 정렬합니다.
핵심 개념¶
Reranker의 동작¶
Reranker는 질문(query)과 후보 문서들(documents)을 받아, 각 문서에 관련도 점수(relevance score) 를 매기고 상위 N개만 뽑아 반환합니다. 검색 단계와 달리 후보를 한 번에 깊이 비교하므로 더 정확한 판단을 하지만, 후보 수가 많으면 비용이 커져 이미 줄어든 후보를 대상으로 씁니다.
검색 vs Reranker 역할 분담¶
- 검색(Retriever) — 전체 문서에서 후보를 넓게 뽑는 빠른 1차 필터.
- Reranker — 뽑힌 후보를 질문과 정밀 대조해 순서를 바로잡는 2차 정렬.
이 두 단계를 합쳐 "넓게 뽑고, 정확히 고른다"는 구조가 됩니다.
Top-N 전달¶
재순위화 후 상위 N개만 LLM 생성 단계로 넘깁니다. 이렇게 하면 관련 없는 조각이 프롬프트에 들어가 토큰을 낭비하는 일을 줄이고, 답의 정확도와 근거 충실성을 함께 높여요.
사용 사례 / 실제 적용¶
- 정책문서 답변 품질 향상 — 1차 검색 결과를 Cohere Reranker로 재정렬해, 진짜 정책 조항이 상위에 오게 합니다.
- 근거 추적 정확도 — 생성에 넘어가는 조각을 줄여, 답의 문장 하나하나가 실제 근거에 더 잘 연결되게 합니다.
- 토큰·비용 절감 — 관련 없는 조각을 생성 전에 걸러내 프롬프트 토큰을 줄입니다.
더 알아보기¶
- 공식 문서 (1차): Cohere Rerank, Cohere Rerank API (v2)
- 큐레이션/블로그 (2차): Cohere 블로그