dspy.evaluate.EvaluationResult

dspy.evaluate.EvaluationResult

dspy.evaluate.EvaluationResult(score: float, results: list[tuple[dspy.Example, dspy.Example, Any]])

상위 클래스: Prediction

평가의 결과를 나타내는 클래스예요. dspy.Prediction의 서브클래스이며 다음 필드를 담아요:

  • score: 전체 성능을 나타내는 float 값(예: 67.30)
  • results: devset의 각 예시에 대한 (example, prediction, score) 튜플 목록

소스: dspy/evaluate/evaluate.py

def __init__(self, score: float, results: list[tuple["dspy.Example", "dspy.Example", Any]]):
    super().__init__(score=score, results=results)

dspy.Evaluate.__call__(...)이 이 객체를 돌려줘요. repr은 전체 결과 목록을 덤프하는 대신 점수와 결과 수만 보여줘서, 로깅해도 메가바이트 출력이 찍히지 않아요. Prediction을 상속하므로 copy·get·with_inputsPrediction/Example의 표준 메서드(copy, get, items, keys, values, inputs, labels, toDict, get_lm_usage 등)를 물려받아요.

뜻을 짚어보면

Evaluate를 호출하면 이 객체가 반환돼요. 바로 .score로 전체 점수를, .results로 예시별 세부를 확인하면 돼요. 예를 들어:

evaluation_result = dspy.Evaluate(devset=devset, metric=metric)(program)
print(evaluation_result.score)      # e.g. 67.3
for example, prediction, score in evaluation_result.results:
    ...

출처: 공식문서

더 알아보기 (Learn more)