DeepEval:3步实操上手大模型评估框架
DeepEval3步实操上手大模型评估框架【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepevalDeepEval 是一个开源的大模型评估框架适合会写 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_KEYyour-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(threshold0.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),仅供参考