턴 컨텍스트 정밀도

턴 컨텍스트 정밀도 (Turn Contextual Precision)

RAG 시스템에서 리트리버가 검색한 컨텍스트를 각 턴마다 잘 순위화하는지 확인하고 싶을 때가 있죠. Turn Contextual Precision은 그런 multi-turn RAG 메트릭으로, LLM-as-a-judge를 사용해 대화의 각 턴에서 리트리버가 검색한 컨텍스트의 랭킹 품질을 평가해요.

출처: 문서

본문

개요

turn contextual precision 메트릭은 LLM-as-a-judge를 사용해, 대화의 각 턴에서 리트리버가 검색한 컨텍스트를 얼마나 잘 순위화하는지 평가하는 multi-turn RAG 메트릭이에요.

turn contextual precision 메트릭은 테스트 케이스의 턴에 role와 content만이 아니라 retrieval context가 필요해요.

필수 파라미터

turn contextual precision 메트릭을 평가하려면 테스트 케이스에 다음 파라미터를 제공해야 해요.

turns (list of Turn, required)

사용자와 어시스턴트의 교환으로 이루어진 Turn 목록.

Turn의 파라미터:

role (user | assistant, required)

말하는 사람의 역할. user 또는 assistant 중 하나예요.

content (string, required)

해당 턴에서 role이 제공한 내용.

retrieval_context (list of string, required)

해당 턴에 대해 리트리버가 출력한 검색 컨텍스트. 랭크 순으로 정렬돼 있어요.

expected_outcome (string, required)

주어진 대화에서 챗봇이 도달해야 하는 기대 결과.

어떻게 계산되나요?

turn contextual precision 메트릭은 턴들 위로 창(window)을 밀면서, 창 안의 각 검색 노드가 기대 결과에 도달하는 데 유용했는지 LLM으로 평가해요. 앞쪽에 나타난 노드에 더 큰 가중치를 줘요.

$$ \text{Turn Contextual Precision} = \frac{\sum \text{Turn Contextual Precision Scores}}{\text{Total Number of Assistant Turns}} $$

각 턴은 contextual precision 메트릭과 같은 방식으로 채점돼요. 이 메트릭은 해당 턴의 관련 노드를 검색 컨텍스트에서의 위치로 순위화해요.

최종 점수는 대화에서 모든 어시스턴트 턴의 contextual precision 점수 평균이에요.

사용 방법

Confident AI에서 turn contextual precision 메트릭을 실행하려면 multi-turn metric collection에 추가하세요. 그러면 다음에 사용할 수 있어요.

  • Multi-turn E2E 테스트
  • trace와 span의 온라인 및 오프라인 eval

더 알아보기