LLM-as-a-judge 평가자 정의하는 방법

LLM-as-a-judge 평가자 정의하는 방법

LLM 애플리케이션은 대화형 텍스트를 생성하며 단일 정답이 없는 경우가 많아 평가하기 어려울 수 있어요.

이 가이드에서는 LangSmith UI를 사용해 오프라인 평가를 위한 LLM-as-a-judge 평가자를 정의하는 방법을 보여드립니다.

참고: 이 가이드는 LangSmith UI를 사용합니다. SDK로 LLM-as-a-judge 평가자를 프로그래매틱하게 만들 수도 있으며, 여기서 만든 것과 동일하게 LangSmith UI에 나타납니다. SDK로 평가자 관리를 참고하세요.

프로덕션 트레이스에서 실시간으로 평가를 실행하려면 온라인 평가 설정을 참고하세요.

팁: 데이터셋 예제가 어노테이션 큐에 작성된 assertion으로 구성되었다면 LLM-as-a-judge 평가자가 example.outputs["assertions"]를 읽고 각각을 애플리케이션 출력과 비교해 채점할 수 있습니다.

출처: 문서

본문

1단계. 평가자 만들기

  1. LangSmith UI에서 Evaluators 페이지 또는 데이터셋·트레이싱 프로젝트 안의 Evaluators 탭에서 + Evaluator를 클릭합니다.
  2. Add Evaluator 패널에서 Create from scratch 아래의 LLM-as-a-Judge Evaluator를 선택합니다. 또는 Create from a template을 선택해 준비된 평가자에서 시작해 편집합니다.

평가자 템플릿

평가자 템플릿은 평가를 설정할 때 유용한 시작점입니다. Add Evaluator 패널에서 Create from a template을 선택하면 Security, Safety, Quality 같은 카테고리별로 정리된 템플릿을 탐색할 수 있습니다.

LLM-as-a-Judge 평가자를 구성할 수 있는 곳:

LLM-as-a-judge 평가자 사용자 지정

LLM-as-a-judge 평가자 프롬프트에 대한 특정 지침을 추가하고 입력/출력/참조 출력 중 어떤 부분을 평가자에 전달할지 구성합니다.

2단계. 평가자 구성하기

프롬프트

평가자용 인라인 커스텀 프롬프트를 만듭니다.

모델

제공되는 옵션에서 원하는 모델을 선택합니다.

변수 매핑

변수 매핑을 사용해 실행 또는 예제에서 평가자 프롬프트로 전달되는 변수를 표시합니다. 변수 매핑을 돕기 위해 참조용 예제(또는 실행)가 제공됩니다. 프롬프트에서 변수를 클릭하고 드롭다운을 사용해 입력, 출력, 참조 출력의 관련 부분에 매핑하세요.

프롬프트 변수를 추가하려면 mustache 형식(기본)을 사용할 때 이중 중괄호 {{prompt_var}}로, f-string 형식을 사용할 때는 단일 중괄호 {prompt_var}로 변수를 입력하세요.

필요에 따라 변수를 제거할 수 있습니다. 예를 들어 간결성 같은 메트릭을 평가한다면 일반적으로 참조 출력이 필요 없으므로 해당 변수를 제거할 수 있습니다.

미리 보기

프롬프트를 미리 보면 오른쪽에 표시된 참조 실행과 데이터셋 예제를 사용해 형식이 지정된 프롬프트가 어떤 모습인지 보여줍니다.

few-shot 예제로 평가자 개선하기

LLM-as-a-judge 평가자를 인간 선호도에 더 잘 맞추기 위해 LangSmith는 평가자 점수에 대한 인간 수정을 수집할 수 있게 합니다. 이 선택을 활성화하면 수정이 few-shot 예제로 프롬프트에 자동으로 삽입됩니다.

few-shot 예제를 설정하고 수정하는 방법을 알아보세요.

피드백 구성

피드백 구성은 LLM-as-a-judge 평가자가 사용할 채점 기준입니다. 평가자가 기준으로 채점할 루브릭이라고 생각하세요. 점수는 실행 또는 예제에 피드백으로 추가됩니다. 평가자의 피드백 정의:

  1. 피드백 키 이름 지정: 평가 결과를 볼 때 표시될 이름입니다. 이름은 실험 간에 고유해야 합니다.
  2. 설명 추가: 피드백이 나타내는 것을 설명합니다.
  3. 피드백 유형 선택:
    • Boolean: 참/거짓 피드백.
    • Categorical: 미리 정의된 카테고리에서 선택.
    • Continuous: 지정된 범위 내의 숫자 채점.

내부적으로 피드백 구성은 LLM-as-a-judge 프롬프트에 구조화 출력으로 추가됩니다. 출력 스키마의 각 최상위 키는 별도의 피드백으로 취급됩니다.

3단계. 평가자 저장하기

구성을 마치면 변경사항을 저장합니다.

더 알아보기