news 2026/8/24 2:41:32

DeepEval:3步实操上手大模型评估框架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepEval:3步实操上手大模型评估框架

DeepEval:3步实操上手大模型评估框架

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

DeepEval 是一个开源的大模型评估框架,适合会写 Python 但没做过模型评估的开发者:它把 LLM 输出变成 0~1 的分数,用自动测试用例和通过线替代人工抽查。你只需装好、写一个 LLM 测试用例,就能拿到分数。

🧩 拆开 LLM 评估是怎么打分的

DeepEval 的机制核心是评审模型(LLM-as-judge):用一个更大的模型,给另一个模型的输出打分。你把一个测试用例(LLMTestCase)写成三要素——问题(input)、模型实际输出(actual_output)、期望答案(expected_output)。指标拿到用例后,把这些字段填入评分模板,发给评审模型,得到一个 0~1 的分数和理由。分数低于你设的阈值(threshold),用例即判失败,pytest 断言变红。1 个用例和 1000 个用例走的是同一条流水线,差别只在数据集。

这张图看什么:左侧本地 SDK 生成评估数据,结果经 API 层流向右侧仪表盘,底部 MCP 通道可接编码工具直接查询评估结论。

🚀 跑通第一个 LLM 评估测试用例

装好依赖和评审模型

先装框架、给评审模型配好 API key,这个 key 决定谁来"当评委":

# 安装 DeepEval pip install -U deepeval # 设置评审模型的 API key,默认走 OpenAI export OPENAI_API_KEY="your-key-here"

写一个 LLM 测试用例

建一个eval_first.py,填好用例三要素,选答案相关性指标:

# 导入测试运行器、测试用例、答案相关性指标 from deepeval import assert_test from deepeval.test_case import LLMTestCase from deepeval.metrics import AnswerRelevancyMetric # 构建一个 LLM 测试用例:问题、模型实际输出、期望答案 test_case = LLMTestCase( input="怎么退货?", actual_output="登录账号,进入订单页点击申请退货即可在线完成。", expected_output="登录账号,在订单页点击申请退货,在线完成退货流程。", ) # 答案相关性指标:给输出是否切题打分,通过线 0.7 metric = AnswerRelevancyMetric(threshold=0.7) # 执行断言,pytest 是否通过由这一行决定 assert_test(test_case, [metric])

运行评估并读分

在文件所在目录执行下面的命令,终端会打印 0~1 的分数和通过状态:

deepeval test run eval_first.py

分数不合预期时先检查三要素是否填对,多数误判来自测试用例字段填错,而不是评审模型判错。全部指标的源码都在 deepeval/metrics/ 目录,每个指标一个独立文件夹。

💡 没有 OPENAI_API_KEY 也能跑:通过环境变量可把评审模型切成其他厂商,所有开关见 docs/content/docs/environment-variables.mdx。

结果接入 Confident 平台后,你会得到这样的看板:

这张图看什么:每个测试用例带通过或失败状态,顶部聚合条直接给出通过率,比逐行读终端直观。

📊 按场景选对评估指标

指标有 40 多个,不必全记。如果你卡住不知道如何评估大模型,先定场景再挑指标:

场景首选指标选它的理由什么时候补
RAG 检索增强FaithfulnessMetric + ContextualRelevancyMetric把"检索错了"和"基于上下文编造"两类故障拆开要确认关键信息是否都用上时,加 ContextualRecallMetric
单轮/多轮聊天AnswerRelevancyMetric / TurnRelevancyMetric单轮看回答是否切题,多轮看每轮是否跑偏要检查对话是否完整收尾,加 ConversationCompletenessMetric
智能体工具调用ToolUseMetric + TaskCompletionMetric一个判工具调用对不对,一个判任务有没有真正完成怀疑死循环时加 AgentLoopDetectionMetric
自定义业务标准GEval把标准写成一句话,让评审模型按它打分现成指标表达不了"语气专业且简洁"这类要求时使用

💡 RAG 评估指标建议成对使用:上下文分高、忠实度低,说明"检索对、生成错";反过来则是检索环节先崩。

🏭 把评估搬进批量、CI 与生产

批量测试:用例积累到几十个后,用EvaluationDataset装起来,deepeval test run一次跑完。得到每个用例的通过率和可导出的分数表。

CI 卡点:改完 prompt 或模型版本,push 触发 GitHub Actions 里的deepeval test run,任一指标低于阈值构建就红。得到合并前可见的回归,改坏的人在合并前就知道。

线上监控:配置 CONFIDENT_API_KEY 后,生产 trace 同步进 Confident AI 仪表盘。得到"循环输出激增"这类异常信号,比用户投诉先一步报警。

这张截图看什么:同一用例两个版本并排,某指标从通过变失败,回归卡点要拦的就是这种变化。

⚠️ 避开 LLM 评估最常见的 4 个坑

**1. 阈值不要拍脑袋用默认值。**先跑 20~30 个样本看分数分布,把阈值设到能拦住你已知的坏样本的那个分位,再批量调整。

**2. 评估成本与指标数成正比。**每个指标都是一次 LLM 调用。把评审模型换成小模型并开启结果缓存,日常用抽样跑全指标,发布前回归才跑全量。

**3. 多个指标结论打架时不要求平均。**相关度高、忠实度低是典型的"自信地错"。每个指标独立设通过线,失败用例逐个打开 reason 字段排查。

**4. 0.8 分不等于 80% 正确。**它是评审模型按 rubric 打的分。分数反直觉时先读 reason(默认开启输出),再核对测试用例字段是否齐全。

这张界面看什么:每条信号是一个异常模式,带增长或收敛趋势,替代"出事后翻日志"的被动排查。

想看完整示例,读 examples/getting_started/test_example.py,然后对你的测试文件执行deepeval test run,拿到第一个真实分数。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 2:39:31

前端性能优化实战:解决海量卡片拖拽卡顿与边缘自动滚动难题

这次我们来看一个前端开发中非常实际的问题:项目管理看板。当你的看板列表里堆积了上千张任务卡片时,拖拽操作会变得异常卡顿,如同播放PPT,更糟糕的是,当你试图将卡片拖到列表边缘时,页面并不会自动滚动&am…

作者头像 李华
网站建设 2026/8/24 2:37:49

WezTerm 快速上手指南:GPU 加速终端,3 个场景让你停不下来

WezTerm 快速上手指南:GPU 加速终端,3 个场景让你停不下来 【免费下载链接】wezterm A GPU-accelerated cross-platform terminal emulator and multiplexer written by wez and implemented in Rust 项目地址: https://gitcode.com/GitHub_Trending/w…

作者头像 李华
网站建设 2026/8/24 2:37:30

6分钟搭建本地AI知识库:RAG技术实践与Dify快速部署指南

这类工具最值得先看的不是功能列表,而是能不能在普通环境里稳定跑起来,以及它到底解决了知识管理的哪个具体痛点。很多人一听到“AI知识库”就觉得是大型企业才需要、部署复杂、维护成本高的东西,但现在的开源方案已经能做到在个人电脑上&…

作者头像 李华
网站建设 2026/8/24 2:37:21

C#文件路径操作全解析:Path、Directory、File类核心用法与跨平台实践

1. 项目概述:为什么文件路径操作是C#开发的基石在C#开发中,无论是桌面应用、Web后端还是工具脚本,几乎都绕不开一个最基础却又最容易出错的环节:文件路径操作。你可能写过这样的代码:string filePath “C:\Users\Proj…

作者头像 李华
网站建设 2026/8/24 2:37:19

多模态角色扮演AI的模态干扰问题与解决方案

1. 项目概述:当角色扮演遇上多模态,我们遇到了什么?最近在捣鼓多模态大模型做角色扮演应用的朋友,估计都踩过同一个坑:当你让一个AI同时扮演“医生”角色,并处理“看X光片”和“听患者描述症状”这两件事时…

作者头像 李华