confident-ai/deepeval

The LLM Evaluation Framework

什么是 DeepEval

DeepEval 是一个用于测试和基准测试大型语言模型 (LLM) 应用程序的开源 Python 框架。可以把它想象成 LLM 驱动的代理、聊天机器人、RAG 管线或任何调用语言模型的系统的 pytest。它让您可以编写测试案例,针对您的代码执行它们,并使用不断增长的评估指标库自动为结果评分。


核心功能 (如 README 所述)

功能 对您的意义
现成指标 超过 30 种内置指标涵盖了经典问题——正确性、幻觉、偏见、毒性——以及代理特定检查(任务完成、工具正确性、计划遵循)和 RAG 特定检查(答案相关性、忠实度、上下文回忆)。
LLM-as-a-judge 诸如 G-Eval、JevEval 和 DAG 等指标使用语言模型(您选择的任何模型)作为评委,提供类似人类的评分,而无需单独的数据集。
本地执行 所有指标都可以在本地托管的模型或统计方法上运行,因此除非您愿意,否则无需将数据发送到第三方服务。
组件级与端到端测试 将整个聊天机器人评估为黑盒,或深入到单个步骤(LLM 调用、工具使用、检索、子代理交接)。
自定义指标创建 您可以插入自己的评分函数,DeepEval 会将其视为任何其他指标。
合成数据集生成 该框架可以生成单轮或多轮合成测试集来对您的系统进行压力测试。
CI/CD 就绪 简单的 CLI (deepeval test run …) 可与任何 CI 管线集成;结果可以导出为报告。
提示优化 内置辅助工具可以根据指标结果自动建议提示调整。
<10 行代码进行基准测试 单行辅助工具让您可以在标准套件(MMLU、HellaSwag、BIG-Bench Hard 等)上对任何 LLM 进行基准测试。

如何使用 (快速入门流程)

  1. 安装 – pip install -U deepeval (Python ≥ 3.9)。
  2. 建立账户 (选配) – deepeval login 存储用于云端报告的 API 密钥。
  3. 编写测试文件 – 定义一个包含 input、actual_output、expected_output 以及选配的 retrieval_context 的 LLMTestCase。
  4. 选择指标 – 例如,用于正确性的 GEval,用于代理的 TaskCompletionMetric,用于 RAG 的 AnswerRelevancy。
  5. 执行 – deepeval test run test_chatbot.py 执行测试并根据指标的阈值打印通过/失败结果。
  6. 追踪 – 使用 @observe() 装饰您的函数(或使用提供的 OpenAI/AI-SDK 包装器)来捕捉完整的决策轨迹;然后使用轨迹感知指标进行评估。

生态系统集成

DeepEval 为最受欢迎的 LLM 工具包提供了适配器,因此您几乎无需更改代码即可新增评估:

  • LangChain / LangGraph – 回调处理程序捕捉每个链步骤。
  • CrewAI, Pydantic AI, Mastra – 用于多代理工作流的原生追踪。
  • Anthropic, OpenAI, AWS AgentCore, Google ADK – 包装器让您可以评估 Claude、GPT-4、Amazon 代理等。
  • LlamaIndex – 评估检索增强生成管线。
  • AI SDK (TypeScript) – 用于 JavaScript/TS 项目的客户端追踪。

对于企业而言,商业化的 Confident AI 平台增加了 UI、数据集管理和生产时的可观测性,同时重复使用相同的 DeepEval 指标定义。


谁会受益

  • LLM 开发人员:构建代理、聊天机器人或 RAG 服务,需要系统化回归测试的人员。
  • ML 工程师:希望自动对模型升级或提示变更进行基准测试的人员。
  • 产品团队:必须在发布前执行质量标准(偏见、毒性、幻觉)的人员。
  • 研究人员:需要一种可重现的方式将 LLM-as-a-judge 指标应用于新任务的人员。

了解更多


总结: DeepEval 是一个专为 LLM 中心软件设计的测试框架,提供了一套丰富的现成且可扩展的指标,与主要 LLM 工具包紧密集成,并通过 Confident AI 提供选配的企业级可观测性。它让您能以对待传统代码库相同的严谨态度来对待 LLM 应用程序。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目