DeepEval LLM评估框架:5分钟跑通第一次模型质量测试
2026/9/9 14:26:47 网站建设 项目流程

DeepEval LLM评估框架:5分钟跑通第一次模型质量测试

【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepeval

DeepEval 是一个开源的LLM 评估框架:把大模型输出当成可测试对象,写测试用例、用 40 余个内置指标打分,并能接入 CI。适合需要系统化验证 LLM 应用质量的 AI 工程师与开发者。

它解决什么问题

DeepEval 解决一个具体问题:用“测试”代替“凭感觉”来评估模型。以下三类情况最适合引入它:

  • RAG 知识库:换模型或调整检索后,回答质量会悄悄变化,需要客观分数判断好坏。
  • 客服对话机器人:坏例子靠人工抽查追不上,需要固定指标的回归测试在质量下滑时给出信号。
  • Agent 工具调用:智能体可能选错工具或陷入循环,需要对调用链做量化检查,而不只看最终回答。

安装并完成第一次评估

需要 Python 3.9+,一条命令完成安装:

pip install deepeval

再写一个 pytest 风格的测试文件,仓库里已有可直接参考的示例 examples/getting_started/test_example.py:

from deepeval import assert_test from deepeval.metrics import AnswerRelevancyMetric from deepeval.test_case import LLMTestCase def test_answer_relevancy(): test_case = LLMTestCase( input="What if these shoes don't fit?", actual_output="We offer a 30-day full refund.", expected_output="Free full refund within 30 days.", ) metric = AnswerRelevancyMetric(threshold=0.7) assert_test(test_case, [metric])

执行deepeval test run test_example.py,终端会给出每个用例的通过/失败与得分。若还需要可视化看板、标注与团队协作,可接入 Confident AI 平台(支持与编码工具通过 MCP 对接):

核心能力:从数据集到回归

  • 数据集管理deepeval/dataset/):EvaluationDataset批量组织测试用例,Goldens 支持版本管理,可导入导出 CSV/JSON。
  • 评估执行deepeval/evaluate/):evaluate()本地跑完整数据集并按指标打分;内置 pytest 插件,可直接挂进 CI。
  • 追踪deepeval/tracing/):基于 OpenTelemetry 记录每次 LLM 与工具调用为 span,失败用例可定位到具体环节。
  • 对话模拟deepeval/simulator/):用 LLM 扮演“用户”与机器人多轮对话,把对话结果沉淀为回归数据集。

📊 指标体系:一次看懂内置指标

指标实现集中在 deepeval/metrics/,按场景选取即可:

指标评估内容
AnswerRelevancyMetric回答与问题的相关程度
FaithfulnessMetric回答是否以给定参考资料为依据
ContextualRelevancyMetric检索到的上下文与问题的相关性
ContextualRecallMetric参考资料是否覆盖期望答案要点
HallucinationMetric资料中无依据的编造内容
SummarizationMetric摘要对原文的忠实度
ToxicityMetric/BiasMetric有害内容与偏见
PIILeakageMetric是否泄露个人信息
GEval用自然语言自定义任意评分标准
DAGMetric结构化多步评分(子标准树)
ToolUseMetric工具选择与调用参数是否正确
ConversationCompletenessMetric多轮任务是否达成目标
ExactMatchMetric/PatternMatchMetric规则匹配,无需调用 LLM

规则类指标如ExactMatchMetric不需要裁判模型;GEval这类 LLM 指标需配置裁判模型(本地或商用模型均可)。

三个最有价值的落地场景

RAG 知识库问答

  • 用 ContextualRelevancy + ContextualRecall + Faithfulness 三件套,区分“检索差”和“生成差”
  • 测试集固定,只改检索参数或模型,直接对比得分
  • HallucinationMetric拦截无依据回答
  • 每次回归都能得到新旧用例的逐项对比视图:

客服多轮对话

  • ConversationCompletenessMetric检查对话目标是否达成
  • 用 ConversationSimulator 自动生成用户问题,减少人工造例
  • Turn 级忠实度指标跟踪单轮质量回退

Agent / MCP 工具调用

  • ToolUseMetric检查工具选择与参数
  • AgentLoopDetectionMetric识别无限循环
  • MCPTaskCompletionMetric评估端到端任务完成度

LangChain、CrewAI 等框架如何接入

deepeval/integrations/ 目录提供了主流框架的插桩集成:

  • LangChain / LangGraph:自动捕获链与节点为评估轨迹
  • LlamaIndex:观察 RAG 中检索与生成各步骤
  • OpenAI Agents / Pydantic AI / CrewAI:记录智能体编排全过程
  • Google ADK / Strands:把 Agent 应用接入同一评估管线
  • Anthropic / OpenAI SDK:补丁式自动追踪,代码改动最小

📚 进阶:源码目录与评估策略

  • 指标实现:deepeval/metrics/;测试用例定义:deepeval/test_case/
  • 官方文档入口:docs/content/docs/getting-started.mdx;CI 用法:docs/content/docs/evaluation-unit-testing-in-ci-cd.mdx

制定评估策略的建议:

  1. 先用 10~30 条线上真实问题建基线数据集,并为每个指标设定通过阈值
  2. 每次改 prompt 或换模型都跑一次回归评估,低于阈值即告警
  3. 把失败用例当 bug 处理:沿调用链定位问题出在检索、生成还是工具调用
  4. 定期把线上坏例子回流进数据集,让测试集随业务演进

❓ 常见疑问

评估本身需要调用 LLM 接口吗?规则类指标如ExactMatchMetric不需要;AnswerRelevancyMetricGEval等基于 LLM 的指标需要配置裁判模型,本地或商用模型均可。

业务数据必须上云吗?核心评估在本地执行,数据可以不出你的环境。Confident AI 平台是可选组件,用于可视化、标注与协作。

如何在 CI 中运行?DeepEval 注册为 pytest 插件,可直接用deepeval test run,也可以像普通pytest一样运行,失败即阻断构建。

自定义评估标准要写代码吗?GEval直接用自然语言描述标准并指定评估参数即可;需要更严格结构时,用DAGMetric把标准拆成子标准树。

动手试试

从你的应用里挑一条真实问题写进测试用例跑一遍。完整文档见 docs/content/docs/getting-started.mdx,指标源码在 deepeval/metrics/。

【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepeval

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询