DeepEval 实操手册:用 pytest 式断言搭一条本地 LLM 评估流水线

发布时间:2026/10/22 3:17:12

DeepEval 实操手册:用 pytest 式断言搭一条本地 LLM 评估流水线 DeepEval 实操手册用 pytest 式断言搭一条本地 LLM 评估流水线【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepevalDeepEval 是一个开源 LLM 评估框架把 LLM 应用当作 pytest 单元测试来测解决模型或 prompt 变更后质量回归难以量化的问题。它用 LLM-as-a-judge 和本地 NLP 模型打分测试数据不出你的机器。如果你做了一个 RAG 应用想在上线前验证回答的相关性与幻觉率这就是对应场景。定位与适用边界DeepEval 处于 LLM 应用与测试体系之间的评估层。它不编排 prompt、也不做模型训练而是接收 input、actual_output、expected_output、retrieval_context输出 0-1 的分数和判定理由。你写测试文件用 pytest 或 deepeval CLI 执行得到每个用例的通过状态与得分。它适合三类情况对 RAG 管道做端到端黑盒评估对 Agent 做逐步轨迹评估验证工具调用是否正确以及 prompt 变更后的回归测试让新旧版本的分数可以直接比较。适合谁已有产出稳定输出的 LLM 应用需要可复现、可比较的评估结果团队使用 pytest 式测试流程不适合谁目标是微调模型本身提升能力只需一次性人工抽查无持续回归需求 核心评估能力概览指标库30 现成指标覆盖 RAG、Agent、多轮对话与安全四类场景全部支持自定义阈值。G-Eval按任意自定义标准打分AnswerRelevancy、Faithfulness 等 RAG 指标TaskCompletion、ToolCorrectness 等 Agent 指标Bias、Toxicity、PII 泄露等安全指标数据集与合成数据用 EvaluationDataset 管理用例用 Synthesizer 批量生成 golden避免全部手写。从文档生成单轮和多轮测试用例从已有上下文生成 golden用例可被 pytest 参数化引用追踪与轨迹评估通过 observe 或框架插桩捕获完整调用链对 Agent 走过的每一步做轨迹评估而不只看最终回答。有序记录 LLM 调用与工具调用对完整轨迹跑 TaskCompletion支持手动插桩与自动插桩标准基准几行代码让任意 LLM 跑 MMLU、HumanEval、GSM8K 等基准用于模型选型时的能力对比。十行代码内完成基准评测覆盖推理、代码、知识类任务 跑通第一个 LLM 评估用例要求 Python 3.9先执行安装pip install -U deepeval评估写法接近 pytest构造 LLMTestCase声明指标与阈值assert_test 会在分数不达标时抛断言错误。下面是一个最小程序正确性评估的例子from deepeval import assert_test from deepeval.metrics import GEval from deepeval.test_case import LLMTestCase, SingleTurnParams def test_case(): metric GEval( nameCorrectness, criteriaDetermine if the actual output is correct based on the expected output., evaluation_params[SingleTurnParams.ACTUAL_OUTPUT, SingleTurnParams.EXPECTED_OUTPUT], threshold0.5, ) test_case LLMTestCase( inputWhat if these shoes dont fit?, actual_outputYou have 30 days to get a full refund at no extra cost., expected_outputWe offer a 30-day full refund at no extra costs., ) assert_test(test_case, [metric])配置评判模型的环境变量默认 OpenAI也可换成其他模型后用 CLI 执行该文件deepeval test run test_case.py跑完后你会在终端看到该指标 0-1 的得分与判定理由低于阈值则得到包含具体分数和阈值的 AssertionError可直接定位失败原因。典型场景走查RAG 回答质量回归你换了切块策略或向量库需要确认检索质量没有下降。ContextualPrecision相关分块是否排在前位Faithfulness回答是否基于检索上下文AnswerRelevancy回答与问题的匹配度收益变更前后的同一组分数可以直接对比量化回答这次优化是涨是跌。Agent 工具调用校验Agent 应该查订单状态但你观察到它偶尔调用退款接口或绕远路。ToolCorrectness工具与参数是否选对TaskCompletion完整轨迹是否达成目标StepEfficiency是否存在冗余步骤收益能定位到具体哪一步走错而不是只知道结果不对。多轮对话安全校验需要确认机器人在长对话中不泄露个人信息、不输出有害内容。PII Leakage检测回答中的个人信息Toxicity回答毒性打分Knowledge Retention跨轮次事实是否漂移收益对整段对话整体评估并可指出问题出现在哪一轮。 接入框架与 CI集成方式分两种框架本身有回调机制时传一个 handler已有 OpenTelemetry 的框架则开启一行插桩。LangChain / LangGraph传入 CallbackHandlerOpenAI / Anthropic换成包装后的 clientPydantic AI / CrewAI / Google ADK一行 instrumentLlamaIndex评估其上的 RAG 应用自定义指标继承 BaseMetric 即可接入它是 pytest 兼容的评估文件写成 test_*.py在 CI 里照常执行把评估结果作为合并与发布门禁。不接云平台的纯本地使用也完整可用如果希望跨团队共享报告可再接入其配套平台。 落地路径建议如果你准备把 DeepEval 引入项目先固定 20 条用例。手写 20-30 条高价值 case 并标注 expected_output不要一开始追求数量用例质量决定评估结果的可信度。只选两三个指标。RAG 场景从 AnswerRelevancy 加 Faithfulness 开始再加一个 G-Eval 覆盖业务自定义标准避免一次性跑全部指标导致成本与噪音上升。接入 CI。把评估文件作为 pytest 测试挂到每次合并流程上这是从偶尔测一下变成持续回归的关键一步。生产环境再加平台。个人使用本地 CLI 即可多团队协同时再引入报告聚合与权限管理并固定评判模型版本以保证分数可比。❓ 高频疑问不接云平台能完整跑吗可以。指标打分在你机器上完成不登录就不向云端发送数据。唯一的外部依赖是评判模型的 API且评判模型可配置为自部署模型。评判模型怎么选默认用 OpenAI 模型也可换成任意 LLM。关键是固定一个评判模型并长期不变否则不同批次之间的分数不可比。多指标阈值怎么定先全量跑一遍看分数分布把阈值设在明确可接受的下限如 0.7。指标冲突时以直接对应业务目标的指标为判定依据其余作参考观察。结果能直接当上线门禁吗可以。assert_test 在低于阈值时抛断言错误CI 可据此阻断发布。建议先在小数据集上跑一段时间观察误报率后再收紧阈值。资源入口项目说明与快速开始README.md全部指标源码deepeval/metrics/标准基准实现deepeval/benchmarks/可直接运行的示例测试examples/getting_started/test_example.py文档内容目录docs/content/docs/【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepeval创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/18 12:05:48

HTTP请求走私漏洞:原理、攻击与防御全解析

1. 项目概述:一个被忽视的Web安全“幽灵”如果你是一名Web开发者、安全研究员或者运维工程师,有没有遇到过一些“灵异事件”?比如,明明配置了严格的访问控制,但某些请求却能绕过规则;或者,在负载…

2026/10/22 3:12:31

5G NOMA功率分配仿真:SIC解码顺序与MATLAB实现

简介:面向5G通信与NOMA技术研究者,这份资源围绕非正交多址接入中的功率分配问题,提供从理论模型到仿真实现的完整参考,内容涵盖NOMA基本原理、基于用户SINR差异的功率约束策略、恒定与动态功率分配方法对比,并涉及干扰…

2026/10/22 3:12:31

分布鲁棒学习入门:从最坏情况思维到对偶优化

1. 为什么我要啃这本《Distributionally Robust Learning》第一次翻到《Distributionally Robust Learning》这本书的时候,我的反应和大多数人一样:标题里的每个单词都认识,连在一起就不知道在说什么了。Distributionally——分布层面的&…

2026/10/22 3:12:31

基于XGBoost的O2O优惠券预测:样本切分与特征工程实战指南

简介:这套项目面向高校毕业设计、课程设计与期末大作业场景,是一个基于XGBoost的O2O优惠券使用预测分析系统。项目围绕优惠券领取、核销与用户消费行为数据完成特征工程、模型训练与结果分析,并将算法能力封装为可操作的完整界面,…

2026/10/22 3:12:31

NOMA与OFDMA仿真对比:原理、代码与避坑指南

简介:面向无线通信与5G/NOMA研究方向学生、科研人员的MATLAB仿真资源,围绕NOMA(非正交多址接入)与OFDMA(正交频分多址)的对比及融合展开,帮助理解功率域复用、子载波分配、多用户检测与系统误码…

2026/10/22 3:12:31

AI Agent黑箱破解:LangSmith全链路追踪与可视化实践

最近带一个智能客服方向的Agent项目上线,最大的感受不是模型能力不够,而是出了问题根本不知道去哪儿查。Agent跑起来像一个黑箱,用户问了一句,系统调用了好几个工具、改了好几轮上下文,最后给了一个不理想的回答——整…

2026/10/22 3:07:31

AI延迟优化实战:用“永不挂断的电话线”让响应快80%

OpenAI砍掉80%延迟:一根“永不挂断的电话线”,如何让AI快到飞起做了这么久的AI服务,我最怕听到用户说“回复太慢了”。大模型本身已经够聪明,但用户等结果时的那种焦虑,几乎能把所有的好感都磨光。前阵子内部优化一个对…

2026/10/21 4:53:08

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/22 0:01:49

电商智能运营体系从0到1:架构设计、落地步骤与避坑指南

前两年我们团队接了一个电商平台的运营中台项目,目标很直白:把过去靠运营拍脑袋做的选品、定价、发券、推活动这些事,逐步用数据算法和自动化流程代替。项目名字内部就叫“电商智能运营体系”。最近有不少朋友问我当时是怎么设计的、踩过哪些…

2026/10/22 0:01:49

若依框架AI代码生成不稳定?用Agent Skill三层结构+五步法搞定

最近一段时间,我一直想把后台管理系统里那些机械重复的增删改查代码交给AI去写。框架用的是若依,按理说这类业务代码模式非常固定,应该是AI最擅长的事情。可真试下来却不是那么回事——你让AI生成一个用户管理模块,它给出的Contro…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑