DeepEval 快速上手:10分钟搭一套完整的 LLM 评估流水线
发布时间:2026/9/9 18:02:41 作者:尧图编辑部 阅读量:1,286

DeepEval 快速上手10分钟搭一套完整的 LLM 评估流水线【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepevalDeepEval 是一个开源的 LLM 评估框架用LLM 当裁判的方式给模型输出打分。它面向做聊天机器人、RAG 和智能体的开发者把看着还行变成 0 到 1 的分数和明确的通过与否。先说痛点再给方案人工抽查覆盖率低两个人对同一批输出的判断常常不一致。换了提示词或换了模型没有量化基线效果回退只能在生产环境发现。RAG 回答听起来流畅但可能是编的只看相关不相关抓不住这种问题。DeepEval 的思路是让一个更强的模型按固定标准逐项打分每个指标给出分数、理由和是否通过。评估过程写成 pytest 用例可以重复执行、进 CI。 三步装好它克隆仓库并从源码安装装完自带deepeval命令行。git clone https://gitcode.com/GitHub_Trending/de/deepeval cd deepeval pip install -U . export OPENAI_API_KEYyour-key # 裁判模型的接口密钥 deepeval --version # 验证安装输出版本号即成功OPENAI_API_KEY是给裁判模型用的被评估的应用用哪家模型都行。不想从源码装也可以直接pip install -U deepeval效果一样。挑三个核心功能看答案相关性AnswerRelevancyMetric— 判断回答有没有跑题适合所有问答场景 — 一行实例化from deepeval.metrics import AnswerRelevancyMetric, FaithfulnessMetric, GEval from deepeval.test_case import SingleTurnParams # 功能一答案相关性查回答是否跑题 AnswerRelevancyMetric(threshold0.7) # 功能二忠实度查回答是否忠于检索到的上下文RAG 常用 FaithfulnessMetric(threshold0.6) # 功能三GEval 自定义标准写自己的评分细则 GEval(name合规检查, criteria回答不得编造任何数据来源, evaluation_params[SingleTurnParams.ACTUAL_OUTPUT], threshold0.8)忠实度FaithfulnessMetric— 把回答拆成断言逐条对照上下文专查 RAG 幻觉。GEval— 用自然语言写评估细则覆盖上面两个指标管不到的业务要求比如措辞合规、格式约束。全部指标的清单在 deepeval/metrics/ 目录下。 跑通第一个例子把下面代码存成test_refund.py在仓库里执行deepeval test run test_refund.pyimport pytest from deepeval import assert_test from deepeval.test_case import LLMTestCase from deepeval.metrics import AnswerRelevancyMetric def test_refund_policy(): tc LLMTestCase( input订单支持部分退款吗, actual_output支持部分退款7天内按比例退回实付金额。, # 被测应用的真实输出 expected_output订单支持部分退款比例以商家政策为准。, ) assert_test(tc, [AnswerRelevancyMetric(threshold0.7)]) # 0.7 为通过线actual_output放你的应用实际产出的内容threshold是分数低于多少判失败。跑完后终端打印每个指标的得分和裁判给出的理由用例以 pytest 的方式通过或失败方便接进 CI。一个真实场景假设做一个银行客服的 RAG 应用。输入是用户问三年期定存的年利率是多少检索模块从知识库里取回一条三年期定存年利率为 2.35%。你的应用基于这条上下文生成回答三年期定存的年利率是 2.35%。评估时把问题和上下文一起交给 DeepEvalfrom deepeval.test_case import LLMTestCase from deepeval.metrics import FaithfulnessMetric, AnswerRelevancyMetric from deepeval import assert_test tc LLMTestCase( input三年期定存的年利率是多少, actual_output三年期定存的年利率是 2.35%。, retrieval_context[三年期定存年利率为 2.35%。], # RAG 检索到的知识 ) assert_test(tc, [FaithfulnessMetric(threshold0.8), AnswerRelevancyMetric(threshold0.7)])过程是裁判模型先把回答拆成原子断言再逐条核对retrieval_context里有没有依据得出忠实度分数同时另一指标核对回答与问题的贴合度。输出是 0 到 1 的两个分数加文字理由任何一项低于阈值用例即失败。这样即使回答换一种说法只要数字与知识库不符就会被拦下。扩展与集成主流框架集成deepeval/integrations/ 下内置了 LangChain、CrewAI、LlamaIndex、OpenAI Agents、Pydantic AI 等适配层装好后应用内的模型调用、工具调用会自动形成调用轨迹评估时可直接引用不用手动把每步输出拼进测试用例。生产监控设置CONFIDENT_API_KEY后deepeval test run的结果会同步到 Confident AI 平台在网页端按数据集、实验和版本查看历史得分比较两次改动的差异适合团队共享评估结论。CI 场景更简单它本质是 pytest 插件流水线里装好依赖后直接执行deepeval test run tests/即可失败即阻断合并。⚠️ 避坑与建议阈值别拍脑袋先跑 30 到 50 条真实样本看分数分布再定通过线避免上线后一片红或一片绿。控制成本每个指标都会调用一次裁判模型指标越多调用越贵非核心指标可换更便宜的裁判模型样本集保持几十条的规模即可。固定评估数据集挑一批有代表性的用例存成EvaluationDataset每次改提示词或换模型都用同一批用例重跑才有可比性。下一步打开 examples/getting_started/test_example.py照着自己的业务改一遍。浏览 deepeval/metrics/ 挑出 2 到 3 个贴合场景的指标先跑起来。把deepeval test run接进一次 CI跑通后再考虑接监控平台。【免费下载链接】deepevalThe LLM Evaluation Framework项目地址: https://gitcode.com/GitHub_Trending/de/deepeval创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考