Confident AI: 자동화된 대규모 언어 모델 평가를 위한 프레임워크로, 다양한 대규모 모델 단서 단어의 출력 품질을 비교합니다.

최신 AI 리소스게시됨 6 개월 전 AI 공유 서클
1.9K 00

일반 소개

DeepEval은 대규모 언어 모델링 시스템을 평가하고 테스트하기 위한 사용하기 쉬운 오픈 소스 LLM 평가 프레임워크입니다. Pytest와 유사하지만 LLM 출력의 단위 테스트에 중점을 두며, 최신 연구 결과와 G-Eval, 팬텀 탐지, 답변 관련성, RAGAS 등과 같은 메트릭을 결합하여 LLM 출력을 평가합니다. 애플리케이션이 RAG에 의해 구현되었든 미세 조정되었든, DeepEval은 모델 성능을 개선하기 위한 최적의 하이퍼파라미터를 결정하는 데 도움을 줄 수 있습니다. 또한, 합성 데이터 세트를 생성하고 모든 CI/CD 환경에 원활하게 통합되며 40개 이상의 보안 취약점에 대한 레드팀 테스트 기능을 제공합니다. 또한 이 프레임워크는 Confident AI와 완벽하게 통합되어 플랫폼의 전체 평가 수명 주기를 지원합니다.

Confident AI:自动化大语言模型评估框架,对比不同大模型提示词输出质量

 

기능 목록

  • G-Eval, 환각 테스트, 정답 상관관계, RAGAS 등 다양한 LLM 평가 지표가 있습니다.
  • 사용자 지정 평가 지표 지원 및 DeepEval 에코시스템으로의 자동 통합
  • 평가를 위한 합성 데이터 세트 생성
  • 모든 CI/CD 환경과의 원활한 통합
  • 40개 이상의 보안 취약점을 탐지하는 레드팀 테스트 기능
  • MMLU, 헬라스웨그, DROP 등 여러 벤치마크를 지원하는 벤치마킹.
  • 데이터 세트 생성부터 평가 결과 디버깅까지 전체 평가 수명 주기를 지원하기 위해 Confident AI와 완전히 통합되었습니다.

 

도움말 사용

마운팅

DeepEval은 pip를 통해 설치할 수 있습니다:

pip install -U deepeval

공유 가능한 클라우드 기반 테스트 보고서를 생성하려면 계정을 만드는 것이 좋습니다:

deepeval login

테스트 케이스 작성

테스트 파일을 만듭니다:

touch test_chatbot.py

존재test_chatbot.py에 첫 번째 테스트 케이스를 작성합니다.

import pytest
from deepeval import assert_test
from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
def test_case():
correctness_metric = GEval(
name="Correctness",
criteria="Determine if the 'actual output' is correct based on the 'expected output'.",
evaluation_params=[LLMTestCaseParams.ACTUAL_OUTPUT, LLMTestCaseParams.EXPECTED_OUTPUT],
threshold=0.5
)
test_case = LLMTestCase(
input="What if these shoes don't fit?",
actual_output="We offer a 30-day full refund at no extra costs.",
retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
)
assert_test(test_case, [correctness_metric])

귀하의OPENAI_API_KEY환경 변수로 설정합니다:

export OPENAI_API_KEY="..."

CLI에서 테스트 파일을 실행합니다:

deepeval test run test_chatbot.py

독립 지표 사용

DeepEval은 매우 모듈화되어 있어 누구나 쉽게 메트릭을 사용할 수 있습니다:

from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.7)
test_case = LLMTestCase(
input="What if these shoes don't fit?",
actual_output="We offer a 30-day full refund at no extra costs.",
retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
)
answer_relevancy_metric.measure(test_case)
print(answer_relevancy_metric.score)
print(answer_relevancy_metric.reason)

대량 평가 데이터 세트

DeepEval에서 데이터 세트는 테스트 사례의 모음일 뿐입니다. 이러한 데이터 집합을 대량으로 평가하는 방법은 다음과 같습니다:

import pytest
from deepeval import assert_test
from deepeval.metrics import HallucinationMetric, AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
from deepeval.dataset import EvaluationDataset
first_test_case = LLMTestCase(input="...", actual_output="...", context=["..."])
second_test_case = LLMTestCase(input="...", actual_output="...", context=["..."])
dataset = EvaluationDataset(test_cases=[first_test_case, second_test_case])
@pytest.mark.parametrize("test_case", dataset)
def test_customer_chatbot(test_case: LLMTestCase):
hallucination_metric = HallucinationMetric(threshold=0.3)
answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.5)
assert_test(test_case, [hallucination_metric, answer_relevancy_metric])

CLI에서 테스트 파일을 실행합니다:

deepeval test run test_<filename>.py -n 4

확신에 찬 AI를 통한 LLM 평가

DeepEval 플랫폼에 로그인합니다:

deepeval login

테스트 파일을 실행합니다:

deepeval test run test_chatbot.py

테스트가 완료되면 CLI에 링크를 브라우저에 붙여넣어 결과를 볼 수 있는 링크가 표시됩니다.

© 저작권 정책
AiPPT

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...