新闻详情

新闻详情

首页 / 资讯中心 / 详情

10分钟上手DeepEval:给LLM应用装上一套自动化质量评估流水线

发布时间:2026/9/9 18:12:33来源:尧图网络
10分钟上手DeepEval:给LLM应用装上一套自动化质量评估流水线
10分钟上手DeepEval给LLM应用装上一套自动化质量评估流水线【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepeval你刚上线了一个RAG问答系统老板问了一句怎么证明这次改提示词后答案质量是变好而不是变差你翻遍代码库发现没有一个地方能回答这个问题——输出没有量化标准质量好坏全凭感觉。这正是LLM评估工具需要解决的事DeepEval是一个开源的大语言模型评估框架它之于LLM应用测试就像Pytest之于传统单元测试。 DeepEval到底是什么它是pytest风格的LLM测试库把LLM应用的输入、输出封装成LLMTestCase用30多个现成指标给输出打分分数低于你设定的threshold测试就失败直接接到CI里当质量门禁。指标覆盖RAG、智能体轨迹、多轮对话、多模态和安全性且全部基于LLM-as-a-judge或统计方法在你的机器上本地运行输出不出本地环境与框架无关官方提供LangChain、LlamaIndex、OpenAI、CrewAI、Pydantic AI等现成集成一行代码接入支持端到端黑盒评估也支持对单次LLM调用、工具使用、检索步骤做组件级评估 5行代码完成第一个LLM输出质量断言DeepEval要求Python 3.9及以上安装一行命令pip install -U deepeval export OPENAI_API_KEYsk-xxxx # 指标用LLM当裁判需配置一个API Key下面这段代码定义了两个内置指标通用正确性、答案相关性对一条测试用例断言得分必须达到及格线# test_chatbot.py import pytest from deepeval import assert_test from deepeval.metrics import GEval, AnswerRelevancyMetric from deepeval.test_case import LLMTestCase, SingleTurnParams def test_case(): correctness 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( input如果这双鞋不合适怎么办, actual_output提供30天全额退款无需额外费用。, expected_output30天内可免费全额退款。, retrieval_context[所有客户可享30天全额退款政策。], ) assert_test(test_case, [correctness, AnswerRelevancyMetric(threshold0.5)])然后在终端执行deepeval test run test_chatbot.py会看到每个用例的PASS/FAIL和各项指标得分。跑通后你就有了一个可以反复执行的质量验收命令以后任何一次prompt或模型改动重跑它就知道是进步还是退化。 DeepEval能帮你解决哪些实际问题RAG管线质量回归——当你调完检索或改完chunking需要证明答案没变差时直接用RAG专项指标批量打分AnswerRelevancyMetric回答对问题的相关程度FaithfulnessMetric回答是否忠于检索到的上下文ContextualPrecisionMetric/ContextualRecallMetric检索片段排序与覆盖质量FaithfulnessMetric(threshold0.7)智能体轨迹验收——当你的Agent多步调用工具、你担心它绕远路或调错工具时可以沿完整执行轨迹评估TaskCompletionMetric是否达成了目标ToolCorrectnessMetric是否调用了正确的工具StepEfficiencyMetric是否存在多余步骤for golden in dataset.evals_iterator(metrics[TaskCompletionMetric()]): your_agent(golden.input)自定义标准与多轮对话——当内置指标不覆盖你的业务标准时GEval接受自然语言标准一段话就能定义新指标GEval(name语气合规, criteria判断实际输出是否符合客服语气规范, evaluation_params[SingleTurnParams.ACTUAL_OUTPUT], threshold0.6)多轮聊天场景则可用ConversationCompletenessMetric、RoleAdherenceMetric等逐轮评估。 实战给客服聊天机器人做上线前评估以改完prompt后验证客服机器人质量为例共四步。Step 1把验收用例沉淀成数据集Golden是标注好的标准问答。from deepeval.dataset import Golden, EvaluationDataset from deepeval.test_case import LLMTestCase dataset EvaluationDataset(goldens[ Golden(input怎么退款, expected_output30天内可免费全额退款。), Golden(input物流几天到, expected_output一般3-5个工作日送达。), ])Step 2批量跑评估——每条golden过一遍你的应用用evals_iterator自动采集trace并挂载指标。for golden in dataset.evals_iterator(metrics[ AnswerRelevancyMetric(threshold0.6), GEval(nameCorrectness, criteriaDetermine if the actual output is correct based on the expected output., evaluation_params[SingleTurnParams.ACTUAL_OUTPUT, SingleTurnParams.EXPECTED_OUTPUT], threshold0.6)]): answer your_llm_app(golden.input)Step 3执行并查看结果——deepeval test run test_chatbot.py在终端输出每条用例的得分与通过状态再执行一次deepeval login云端报告会自动生成可直接分享给没有本地环境的同事复核。Step 4换版本对比——把prompt或模型改一版重复Step 2-3用compare把两轮结果并排对比回归一目了然。到这一步你手里就有了这次改动值不值得上线的量化依据。 进一步深挖DeepEval的高级用法如果你只是做内部工具上面第3-5步已经够用如果要往生产级靠可以沿三个方向深入接入CI/CDDeepEval基于pytest插件机制注册见pyproject.toml里的pytest11入口deepeval test run可以作为流水线的阻塞门禁适合每次提交都过质量检查的团队自定义指标继承BaseMetric实现自己的measure逻辑自动融入整个生态适合内置指标覆盖不了的合规、话术等检查合成评估数据集deepeval/synthesizer/支持从文档生成单轮和多轮合成测试数据适合golden标注样本还很少的阶段完整指标列表见指标源码目录提示词自动优化可看optimizer模块。✅ 下一步适合谁、不适合谁换个角度看它的价值DeepEval把质量有没有变差从玄学讨论变成一条可复现的命令回归在CI里就被拦住而不是等用户投诉才发现问题。边界要说清楚它面向离线评估不提供线上流量监控和实时告警生产观测需要另配可观测体系如果你的系统根本不是LLM应用或者只需要对确定性输出做断言普通pytest就是更省的选择。建议先按第3节装一下把最小示例跑起来两分钟后你对它适不适合你的业务就有判断了。【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepeval创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

从“测试文章标题01”到完整干货:零散草稿的整理之道 2026/9/9 19:00:40

从“测试文章标题01”到完整干货:零散草稿的整理之道

很多写过博客或者维护过文档系统的人,都干过这样一件事:新建一篇文档,标题随手敲成“测试文章标题01”,正文随便贴几行内容,用来看看排版、发个外链、或者验证一下账号能不能正常用。我也不例外。但做这行做久了&#…

阅读更多 →
别再逐行盯AI代码:用Code Container释放Claude Code的真正效率 2026/9/9 19:00:40

别再逐行盯AI代码:用Code Container释放Claude Code的真正效率

Claude Code 出来半年多,我身边几乎每个写代码的朋友都装过一遍。但有意思的是,一半人装完就吃灰,剩下的一半每天在"让 Claude 写代码"和"盯着 Claude 的代码"之间来回切换,一小时下来比手写还累。问题出在哪…

阅读更多 →
不锈钢彩涂板供应商怎么选?五个维度教你判断专业可靠 2026/9/9 19:00:40

不锈钢彩涂板供应商怎么选?五个维度教你判断专业可靠

入行做不锈钢材料这些年,隔三差五就有人跑来问一句:不锈钢彩涂板哪家专业可靠。说实在的,每次听到这种问题,我第一反应不是赶紧报几个厂名,而是先反问回去:你要用在什么地方,准备用多大批量&…

阅读更多 →
如何把 OpenAI Assistants 封装为 AutoGen Core 智能体并处理流式输出? 2026/9/9 19:00:40

如何把 OpenAI Assistants 封装为 AutoGen Core 智能体并处理流式输出?

如何把 OpenAI Assistants 封装为 AutoGen Core 智能体并处理流式输出? 【免费下载链接】autogen A programming framework for agentic AI 项目地址: https://gitcode.com/GitHub_Trending/au/autogen OpenAI Assistants 是运行在服务端的 API:你…

阅读更多 →
Transformers 中的细粒度 FP8 量化:配置、DeepGEMM 加速路径与 UE8M0 缩放格式完全指南 2026/9/9 19:00:40

Transformers 中的细粒度 FP8 量化:配置、DeepGEMM 加速路径与 UE8M0 缩放格式完全指南

Transformers 中的细粒度 FP8 量化:配置、DeepGEMM 加速路径与 UE8M0 缩放格式完全指南 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

阅读更多 →
如何用 OpenSpec Store 建立跨仓库的独立规划仓库? 2026/9/9 18:57:40

如何用 OpenSpec Store 建立跨仓库的独立规划仓库?

如何用 OpenSpec Store 建立跨仓库的独立规划仓库? 【免费下载链接】OpenSpec Spec-driven development (SDD) for AI coding assistants. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenSpec 如果你的规划横跨多个代码仓库——一个功能同时改 API …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞