심판 정렬 퀵스타트

심판 정렬 퀵스타트 (Judge Alignment Quickstart)

judge_alignment 템플릿은 LLM-as-judge가 인간 평가 기준과 얼마나 잘 정렬되는지 측정해요. 프로젝트 생성부터 베이스라인 심판과 개선된 심판의 정렬률 비교까지 진행할 수 있어요.

출처: 문서

본문

judge_alignment 템플릿은 LLM-as-judge가 인간 평가 표준과 얼마나 잘 정렬되는지 측정해요.

프로젝트 만들기

ragas quickstart judge_alignment
cd judge_alignment

의존성 설치

uv sync

API 키 설정

export OPENAI_API_KEY="your-openai-key"

평가 실행

uv run python evals.py

프로젝트 구조

judge_alignment/
├── README.md              # Project documentation
├── pyproject.toml         # Project configuration
├── evals.py               # Evaluation workflow
├── __init__.py            # Python package marker
└── evals/
    ├── datasets/          # Test datasets
    ├── experiments/       # Evaluation results
    └── logs/              # Execution logs

무엇을 평가하나

템플릿은 LLM 심판 정렬을 평가해요.

  • Scenario: 기존 응답을 LLM 심판이 평가
  • Human Labels: ground truth pass/fail 라벨
  • LLM Judge: 채점 기준으로 동일한 응답 평가
  • Alignment Metric: 인간과 LLM 판단 사이의 일치

코드 이해하기

심판 메트릭 (evals.py)

비교할 두 가지 심판 구현:

# 베이스라인 심판 (간단한 프롬프트)
accuracy_metric = DiscreteMetric(
    name="accuracy",
    prompt="Check if response contains points from grading notes...",
    allowed_values=["pass", "fail"],
)

# 개선된 심판 (약어 가이드로 강화)
accuracy_metric_v2 = DiscreteMetric(
    name="accuracy",
    prompt="""Evaluate if response covers ALL key concepts...

    ABBREVIATION GUIDE:
    • Financial: val=valuation, post-$=post-money, rev=revenue...
    • Business: mkt=market, reg=regulation...
    """,
    allowed_values=["pass", "fail"],
)

평가

인간 판단과의 정렬을 테스트해요.

@discrete_metric(name="alignment", allowed_values=["aligned", "misaligned"])
def alignment_metric(llm_judgment: str, human_judgment: str):
    # LLM 심판 출력과 인간 라벨 비교
    return "aligned" if llm_judgment == human_judgment else "misaligned"

테스트 데이터

데이터셋은 다음을 포함해요.

  • 사전 평가된 응답
  • 인간 pass/fail 라벨
  • 기대 포인트가 있는 채점 노트
  • 다양한 약어와 비즈니스 용어

사용 사례

심판 버전 비교

두 심판 모두로 실험을 실행해요.

# 베이스라인 심판 테스트
results_v1 = await run_with_judge(accuracy_metric)

# 개선된 심판 테스트
results_v2 = await run_with_judge(accuracy_metric_v2)

# 정렬률 비교

심판 품질 개선

심판 프롬프트를 반복해서 정렬을 개선해요.

  1. 정렬 불일치 패턴 식별
  2. 더 명확한 기준으로 심판 프롬프트 업데이트
  3. 정렬 재평가
  4. 만족스러울 때까지 반복

더 알아보기 (Learn more)