文档 | 指标与特性 | 快速开始 | 集成 | Confident AI
Deutsch | Español | français | 日本語 | 한국어 | Português | Русский | 中文
DeepEval 是一个简单易用的开源 LLM 评估框架,用于评估大语言模型系统。它类似于 Pytest,但专为 LLM 应用的单元测试而设计。DeepEval 融合了最新研究,通过 G-Eval、任务完成度、答案相关性、幻觉等指标运行评估,这些指标使用 在您机器本地运行 的 LLM-as-a-judge 和其他 NLP 模型。
无论您是通过 LangChain 还是 OpenAI 构建 AI 智能体、RAG 管道或聊天机器人,DeepEval 都能满足您的需求。通过它,您可以轻松确定最佳模型、提示词和架构,以提高 AI 质量,防止提示词漂移,甚至自信地从 OpenAI 迁移到 Claude。
[!IMPORTANT]
需要为您的 DeepEval 测试数据找一个家 🏡❤️?注册 DeepEval 平台,以比较 LLM 应用的不同迭代版本、生成和共享测试报告等。
想讨论 LLM 评估、需要帮助选择指标,或者只是想打个招呼?加入我们的 Discord。
📐 大量开箱即用的 LLM 评估指标(均附有解释),由您选择的 任何 LLM、统计方法或 在您机器本地运行 的 NLP 模型提供支持,覆盖所有用例:
自定义、通用指标:
🎯 支持端到端和组件级的 LLM 评估。
DeepEval 可插入任何 LLM 框架——OpenAI Agents、LangChain、CrewAI 等。要在团队中扩展评估——或让任何人在不编写代码的情况下运行它们——Confident AI 为您提供原生平台集成。
Confident AI 是一个与 DeepEval 原生集成的多合一平台。
假设您的 LLM 应用是一个基于 RAG 的客户支持聊天机器人;以下是 DeepEval 如何帮助测试您构建的内容。
Deepeval 需要 Python>=3.9+。
pip install -U deepeval
使用 deepeval 平台将允许您在云端生成可共享的测试报告。它是免费的,无需额外代码设置,我们强烈建议您尝试一下。
要登录,请运行:
deepeval login
按照 CLI 中的说明创建账户,复制您的 API 密钥,并将其粘贴到 CLI 中。所有测试用例将自动记录(有关数据隐私的更多信息,请参见此处)。
创建一个测试文件:
touch test_chatbot.py
打开 test_chatbot.py 并编写您的第一个测试用例,使用 DeepEval 运行 端到端 评估,将您的 LLM 应用视为黑盒:
import pytest
from deepeval import assert_test
from deepeval.metrics import GEval
from deepeval.test_case import LLMTestCase, LLMTestCaseParams
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?",
# 将此替换为您的 LLM 应用的实际输出
actual_output="You have 30 days to get a full refund at no extra cost.",
expected_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 中运行 test_chatbot.py:
deepeval test run test_chatbot.py
恭喜!您的测试用例应该已通过 ✅ 让我们分解一下发生了什么。
input 模拟用户输入,actual_output 是您的应用程序基于此输入应输出的内容的占位符。expected_output 代表给定 input 的理想答案,GEval 是 deepeval 提供的一种基于研究的指标,用于以类人准确性评估您的 LLM 输出是否符合任何自定义标准。criteria 是根据