대화 완성도

대화 완성도 (Conversation Completeness)

대화형 챗봇이 사용자의 요구를 각 턴에서 충족했는지 확인하고 싶을 때가 있죠. Conversation Completeness는 바로 그런 multi-turn 메트릭으로, LLM-as-a-judge를 사용해 대화 전체에서 사용자 요건이 만족됐는지 평가해요. 이 글에서 동작 원리와 계산 방식을 살펴볼게요.

출처: 문서

본문

개요

conversational completeness 메트릭은 LLM-as-a-judge를 사용해, 챗봇이 대화의 각 턴에서 사용자의 요구를 충족했는지 평가하는 multi-turn 메트릭이에요.

필수 파라미터

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

turns (list of Turn, required)

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

Turn의 파라미터:

role (user | assistant, required)

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

content (string, required)

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

어떻게 계산되나요?

conversation completeness 메트릭은 먼저 LLM으로 모든 턴에서 서로 다른 사용자 의도를 추출하고, 같은 LLM으로 대응하는 어시스턴트 턴이 그 의도를 충족했는지 확인해요.

$$ \text{Conversation Completeness} = \frac{\text{Number of Satisfied User Intentions in Conversation}}{\text{Total Number of User Intentions in Conversation}} $$

최종 점수는 대화에서 충족된 사용자 의도의 비율이에요.

사용 방법

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

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

더 알아보기