컨텍스트 정밀도
컨텍스트 정밀도 (Contextual Precision)
RAG 시스템에서 리트리버가 검색한 컨텍스트를 입력 쿼리에 따라 얼마나 잘 순위화하는지 확인하고 싶을 때가 있죠. Contextual Precision은 그런 single-turn RAG 메트릭으로, LLM-as-a-judge를 사용해 리트리버가 입력 쿼리 기준으로 검색 컨텍스트를 얼마나 잘 순위화하는지 평가해요.
출처: 문서
본문
개요
contextual precision 메트릭은 LLM-as-a-judge를 사용해 리트리버가 입력 쿼리 기준으로 검색한 컨텍스트를 얼마나 잘 순위화하는지 평가하는 single-turn RAG 메트릭이에요.
contextual precision 메트릭을 사용할 때 테스트 케이스의 input에는 전체 프롬프트가 아니라 질문만 넣어야 해요.
필수 파라미터
contextual precision 메트릭을 평가하려면 테스트 케이스에 다음 파라미터를 제공해야 해요.
input (string, required)
RAG 애플리케이션에 제공하는 입력 쿼리.
expected_output (string, required)
RAG 애플리케이션이 주어진 입력에 대해 생성해야 하는 기대 출력.
retrieval_context (list of string, required)
주어진 입력에 대해 리트리버가 출력한 검색 컨텍스트. 랭크 순으로 정렬돼 있어요.
어떻게 계산되나요?
contextual precision 메트릭은 LLM으로 각 검색 노드를 평가해 입력에 대한 관련성 기준으로 올바르게 순위화됐는지 확인해요. 그다음 다음 방정식으로 최종 점수를 계산해요.
$$ \text{Contextual Precision} = \frac{1}{\text{Num of Relevant Nodes}}\sum_{k=1}^{n}(\frac{\text{Num of Relevant Nodes Upto position k}}{k} \times r_k) $$
k — 검색 컨텍스트에서
i+1번째 노드n — 검색 컨텍스트의 노드 수
rₖ —
k번째 노드의 이진 관련성. 관련 있으면 1, 없으면 0.
높은 contextual precision 점수는 모든 검색 노드가 입력에 대한 관련성 순서대로 정렬돼 있음을 뜻해요.
사용 방법
Confident AI에서 contextual precision 메트릭을 실행하려면 single-turn metric collection에 추가하세요. 그러면 다음에 사용할 수 있어요.
- Single-turn E2E 테스트
- Single-turn component-level 테스트
- trace와 span의 온라인 및 오프라인 eval
더 알아보기
- Contextual Recall — 검색 완전성 메트릭
- Metric Collections — 원격 평가를 위한 메트릭 묶기