본문으로 건너뛰기

Deep E val ue 및 Conf ident AI

价格

链接

무료 패키 지 : 기본 으로 충분 합니다 .

Star ter 패키 지 : $20 / 월

image-20240415112030958

빠른 시작

官方

最新版本

pip install -U deepeval

注册 Confident AI

API 키 를 가져 오 기

착 륙 하다

deepeval login --api-key xxxx

파일 test _ example . py 만들기

from deepeval import assert_test
from deepeval.test_case import LLMTestCase
from deepeval.metrics import AnswerRelevancyMetric

def test_answer_relevancy():
answer_relevancy_metric = AnswerRelevancyMetric(threshold=0.5)
test_case = LLMTestCase(
input="What if these shoes don't fit?",
# Replace this with the actual output of your LLM application
actual_output="We offer a 30-day full refund at no extra cost."
)
assert_test(test_case, [answer_relevancy_metric])

파일 이름은 test _ 시작 해야 합니다 .

실행

deepeval test run test_example.py

결과를 저장 할 폴 더 설정

환경 변 수 설정

export DEEPEVAL_RESULTS_FOLDER="./deep-eval-results"

dee pe val test run 의 매 개 변 수

병 렬 화

deepeval test run test_example.py -n 4

캐 시

deepeval test run test_example.py -c

반복 하다

deepeval test run test_example.py -r 2

갈 고 리

...

@deepeval.on_test_run_end
def function_to_be_called_after_test_run():
print("Test finished!")

기본 개념

官方文档

Test Case包含input/actual_output/retrieval_context
DatasetTest Case的集合
Golden相比 test case,少了 actual_output

실제 테스트 케 이스

test_case = LLMTestCase(
input="Who is the current president of the United States of America?",
actual_output="Joe Biden",
retrieval_context=["Joe Biden serves as the current president of America."]
)

Pyt est 를 사용하여 평가

from deepeval import assert_test
from deepeval.test_case import LLMTestCase
from deepeval.metrics import AnswerRelevancyMetric

dataset = EvaluationDataset(test_cases=[...])

@pytest.mark.parametrize(
"test_case",
dataset,
)
def test_customer_chatbot(test_case: LLMTestCase):
answer_relevancy_metric = AnswerRelevancyMetric()
assert_test(test_case, [answer_relevancy_metric])

& gt ; @ p yt est . mark . param et ri ze ' 는 Pyt est 에서 제공하는 장식 자 입니다 .그것은 단순히 E valu ation Dat aset ` 에 의해 각 테스트 케 이 스를 평가 하는 루 프 입니다 .

C LI 없이 실행

文档

# A hypothetical LLM application example
import chatbot
from deepeval import evaluate
from deepeval.metrics import HallucinationMetric
from deepeval.test_case import LLMTestCase

# ……
test_cases = [first_test_case, second_test_case]

metric = HallucinationMetric(threshold=0.7)
evaluate(test_cases, [metric])

테스트 케 이스

표준 테스트 케 이스

test_case = LLMTestCase(
input="What if these shoes don't fit?", #必选
expected_output="You're eligible for a 30 day refund at no extra cost.", #必选
actual_output="We offer a 30-day full refund at no extra cost.",

context=["All customers are eligible for a 30 day full refund at no extra cost."], # 参考值
retrieval_context=["Only shoes can be refunded."], # 实际检索结果

latency=10.0
)

-> con text 는 주어진 입력 에 대한 이상 적인 검색 결과 이며 , 일반적으로 평가 데이터 세 트 에서 가져 옵니다 .

  • ret rie val _ context LL M 응용 프로그램의 실제 검색 결과 .

데이터 세 트

데이터 세 트를 수 동 으로 생성 하여 Conf ident AI 로 푸 시 합니다 .

from deepeval.test_case import LLMTestCase
from deepeval.dataset import EvaluationDataset

# 原始数据
original_dataset = [
{
"input": "What are your operating hours?",
"actual_output": "...",
"context": [
"Our company operates from 10 AM to 6 PM, Monday to Friday.",
"We are closed on weekends and public holidays.",
"Our customer service is available 24/7.",
],
},
{
"input": "Do you offer free shipping?",
"actual_output": "...",
"expected_output": "Yes, we offer free shipping on orders over $50.",
},
{
"input": "What is your return policy?",
"actual_output": "...",
},
]

# 遍历,将生成 LLMTestCase 实例
test_cases = []
for datapoint in original_dataset:
input = datapoint.get("input", None)
actual_output = datapoint.get("actual_output", None)
expected_output = datapoint.get("expected_output", None)
context = datapoint.get("context", None)

test_case = LLMTestCase(
input=input,
actual_output=actual_output,
expected_output=expected_output,
context=context,
)
test_cases.append(test_case)

# 将 LLMTestCase 数组变成 EvaluationDataset
dataset = EvaluationDataset(test_cases=test_cases)

# 推送到Confident AI
dataset.push(alias="My Confident Dataset")

链接

결과 보기

image-20240415122342814

image-20240415122410879

在Confident AI的Web UI手动创建

중국 어 지원

/ Us ers / xxx / ana con da 3 / en vs / LI 31 1 - b / lib / py thon 3. 11 / site - pack ages / dee pe val / syn th esiz er / template . py 아래 의 모든 프 롬 프 트를 수 동 으로 수정 하여 추가 합니다 .

6. `Rewritten Input` should be in Chinse.

미 터 법

평가 된 차 원

评估指标描述
正确性和语义相似度生成的答案 与 参考答案 的对比
Context Relevancy查询 与 检索到的上下文 的相关性
Faithfulness生成的答案 与 检索到的上下文 的一致性
Answer Relevancy生成的答案 与 查询 的相关性

자신 감 있는 AI