DeepEvalEvaluator

DeepEvalEvaluator

DeepEval은 다양한 LLM 기반 평가 지표를 제공하는 평가 프레임워크예요. DeepEvalEvaluator 컴포넌트로 Haystack 파이프라인(예: RAG 파이프라인)을 DeepEval이 제공하는 지표 중 하나에 대해 평가할 수 있습니다.

출처: 문서

본문

DeepEval은 여러 지표를 지원하며, 우리는 이를 DeepEval 지표 열거형으로 노출합니다. Haystack의 DeepEvalEvaluator는 아래 나열된 지표를 Evaluator 초기화 시 예상되는 metric_params와 함께 지원해요. 많은 지표가 OpenAI 모델을 사용하며, OPENAI_API_KEY 환경 변수를 설정해야 합니다. 이 지표들의 전체 가이드는 DeepEval 문서를 참고하세요.

항목 내용
파이프라인에서의 일반적인 위치 단독으로 또는 평가 파이프라인에서 사용. Evaluator의 입력을 생성한 별도 파이프라인 뒤에 배치
필수 init 변수 metric — 평가에 사용할 DeepEval 지표 중 하나
필수 run 변수 **inputs — 예상 입력을 담은 키워드 인자 딕셔너리. 예상 입력은 평가하는 지표에 따라 달라집니다.
출력 변수 results — 지표 결과의 중첩 리스트. 지표에 따라 하나 이상일 수 있어요. 각 결과는 name(지표 이름), score(지표 점수), explanation(선택적 점수 설명) 키를 가진 딕셔너리.
API reference DeepEval
GitHub link https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/deepeval
Package name deepeval-haystack

Parameters Overview

DeepEvalEvaluator를 초기화하려면 다음 파라미터를 제공해야 합니다:

  • metric — DeepEvalMetric.
  • metric_params — 선택적으로, 지표가 추가 파라미터를 요구하면 여기에 제공하세요.

Usage

DeepEvalEvaluator를 사용하려면 먼저 통합을 설치하세요:

pip install deepeval-haystack

사용 단계:

  1. 사용 중인 지표에 올바른 metric_params를 제공하며 DeepEvalEvaluator를 초기화합니다.
  2. 사용 중인 지표에 대한 예상 입력을 제공하며 DeepEvalEvaluator를 단독으로 또는 파이프라인에서 실행합니다.

Examples

Faithfulness 평가하기

Faithfulness 평가 파이프라인을 만들려면:

from haystack import Pipeline
from haystack_integrations.components.evaluators.deepeval import (
    DeepEvalEvaluator,
    DeepEvalMetric,
)

pipeline = Pipeline()
evaluator = DeepEvalEvaluator(
    metric=DeepEvalMetric.FAITHFULNESS,
    metric_params={"model": "gpt-4o-mini"},
)
pipeline.add_component("evaluator", evaluator)

평가 파이프라인을 실행하려면 지표를 위한 예상 입력이 준비되어 있어야 해요. 이 지표는 questions 리스트, contexts 리스트, responses 리스트를 기대합니다. 이들은 평가하고 싶은 파이프라인의 결과에서 와야 합니다.

results = pipeline.run(
    {
        "evaluator": {
            "questions": [
                "When was the Rhodes Statue built?",
                "Where is the Pyramid of Giza?",
            ],
            "contexts": [["Context for question 1"], ["Context for question 2"]],
            "responses": ["Response for question 1", "response for question 2"],
        },
    },
)

Additional References

더 알아보기 (Learn more)