턴 충실성

턴 충실성 (Turn Faithfulness)

RAG 생성기가 각 턴마다 검색된 컨텍스트에 기반해 답하는지 확인하고 싶을 때가 있죠. Turn Faithfulness는 그런 multi-turn RAG 메트릭으로, LLM-as-a-judge를 사용해 대화의 각 턴에서 챗봇 답변이 검색된 컨텍스트에 기반을 두고 있는지 평가해요.

출처: 문서

본문

개요

turn faithfulness 메트릭은 LLM-as-a-judge를 사용해, 대화의 각 턴에서 챗봇 답변이 검색된 컨텍스트에 기반을 두고 있는지 평가하는 multi-turn RAG 메트릭이에요.

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

필수 파라미터

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

turns (list of Turn, required)

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

Turn의 파라미터:

role (user | assistant, required)

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

content (string, required)

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

retrieval_context (list of string, required)

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

어떻게 계산되나요?

turn faithfulness 메트릭은 턴들 위로 창을 밀면서, LLM으로 각 창의 검색 컨텍스트에서 진실(truths)을, 어시스턴트 내용에서 주장(claims)을 추출하고, 같은 LLM으로 진실이 그 주장 중 몇 개를 뒷받침하는지 확인해요.

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

각 턴은 faithfulness 메트릭과 같은 방식으로 채점돼요. 해당 턴의 모든 주장 중 사실에 부합하는 주장의 비율로 계산되죠.

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

사용 방법

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

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

더 알아보기