OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  DeepEval — 面向 LLM 应用的自动化评测框架

DeepEval — 面向 LLM 应用的自动化评测框架

 
  arctic ·  2026-02-19 14:42:52 · 7 次点击  · 0 条评论  

DeepEval Logo

LLM 评估框架

confident-ai%2Fdeepeval | Trendshift

discord-invite

文档 | 指标与特性 | 快速开始 | 集成 | Confident AI

GitHub release Try Quickstart in Colab License Twitter Follow

Deutsch | Español | français | 日本語 | 한국어 | Português | Русский | 中文

DeepEval 是一个简单易用的开源 LLM 评估框架,用于评估大语言模型系统。它类似于 Pytest,但专为 LLM 应用的单元测试而设计。DeepEval 融合了最新研究,通过 G-Eval、任务完成度、答案相关性、幻觉等指标运行评估,这些指标使用 在您机器本地运行 的 LLM-as-a-judge 和其他 NLP 模型。

无论您是通过 LangChain 还是 OpenAI 构建 AI 智能体、RAG 管道或聊天机器人,DeepEval 都能满足您的需求。通过它,您可以轻松确定最佳模型、提示词和架构,以提高 AI 质量,防止提示词漂移,甚至自信地从 OpenAI 迁移到 Claude。

[!IMPORTANT]
需要为您的 DeepEval 测试数据找一个家 🏡❤️?注册 DeepEval 平台,以比较 LLM 应用的不同迭代版本、生成和共享测试报告等。

Demo GIF

想讨论 LLM 评估、需要帮助选择指标,或者只是想打个招呼?加入我们的 Discord。


🔥 指标与特性

  • 📐 大量开箱即用的 LLM 评估指标(均附有解释),由您选择的 任何 LLM、统计方法或 在您机器本地运行 的 NLP 模型提供支持,覆盖所有用例:

  • 自定义、通用指标:

    • G-Eval — 一种基于研究的 LLM-as-a-judge 指标,用于以类人准确性评估任何自定义标准
    • DAG — DeepEval 基于图的确定性 LLM-as-a-judge 指标构建器

  • 智能体指标


  • RAG 指标

    • 答案相关性 — 衡量 RAG 管道输出与输入的相关性
    • 忠实度 — 评估 RAG 管道输出是否与检索上下文在事实上一致
    • 上下文召回率 — 衡量 RAG 管道的检索上下文与预期输出的匹配程度
    • 上下文精确率 — 评估 RAG 管道检索上下文中相关节点是否排名更高
    • 上下文相关性 — 衡量 RAG 管道检索上下文与输入的整体相关性
    • RAGAS — 答案相关性、忠实度、上下文精确率和上下文召回率的平均值

  • 多轮对话指标

    • 知识保留 — 评估聊天机器人是否在整个对话中保留事实信息
    • 对话完整性 — 衡量聊天机器人是否在整个对话中满足用户需求
    • 轮次相关性 — 评估聊天机器人是否在整个对话中生成一致相关的回复
    • 轮次忠实度 — 检查聊天机器人的回复在各轮对话中是否基于检索上下文的事实
    • 角色遵循度 — 评估聊天机器人是否在整个对话中遵循其分配的角色

  • MCP 指标


  • 多模态指标

    • 文本到图像 — 基于语义一致性和感知质量评估图像生成质量
    • 图像编辑 — 基于语义一致性和感知质量评估图像编辑质量
    • 图像连贯性 — 衡量图像与其伴随文本的对齐程度
    • 图像帮助性 — 评估图像对用户理解文本的有效贡献程度
    • 图像引用 — 评估图像被伴随文本引用或解释的准确性

  • 其他指标

    • 幻觉 — 检查 LLM 是否根据提供的上下文生成事实正确的信息
    • 摘要 — 评估摘要是否事实正确并包含必要细节
    • 偏见 — 检测 LLM 输出中的性别、种族或政治偏见
    • 毒性 — 评估 LLM 输出中的毒性
    • JSON 正确性 — 检查输出是否匹配预期的 JSON 模式
    • 提示词对齐 — 衡量输出是否与提示词模板中的指令对齐
  • 🎯 支持端到端和组件级的 LLM 评估。

  • 🧩 构建您自己的自定义指标,自动集成到 DeepEval 的生态系统中。
  • 🔮 生成用于评估的单轮和多轮合成数据集。
  • 🔗 与 任何 CI/CD 环境无缝集成。
  • 🧬 根据评估结果自动优化提示词。
  • 🏆 轻松在流行的 LLM 基准测试上对 任何 LLM 进行基准测试,代码不超过 10 行,包括 MMLU、HellaSwag、DROP、BIG-Bench Hard、TruthfulQA、HumanEval、GSM8K。


🔌 集成

DeepEval 可插入任何 LLM 框架——OpenAI Agents、LangChain、CrewAI 等。要在团队中扩展评估——或让任何人在不编写代码的情况下运行它们——Confident AI 为您提供原生平台集成。

框架

  • OpenAI — 通过客户端包装器评估和追踪 OpenAI 应用
  • OpenAI Agents — 在一分钟内端到端评估 OpenAI Agents
  • LangChain — 使用回调处理器评估 LangChain 应用
  • LangGraph — 使用回调处理器评估 LangGraph 智能体
  • Pydantic AI — 使用类型安全验证评估 Pydantic AI 智能体
  • CrewAI — 评估 CrewAI 多智能体系统
  • Anthropic — 通过客户端包装器评估和追踪 Claude 应用
  • AWS AgentCore — 评估部署在 Amazon AgentCore 上的智能体
  • LlamaIndex — 评估使用 LlamaIndex 构建的 RAG 应用

☁️ 平台 + 生态系统

Confident AI 是一个与 DeepEval 原生集成的多合一平台。

  • 在一个平台中管理数据集、追踪 LLM 应用、运行评估并监控生产环境中的响应。
  • 不需要 UI?Confident AI 也可以作为您的数据持久层 - 通过 Confident AI 的 MCP 服务器,直接从 claude 代码、cursor 运行评估、拉取数据集和检查追踪。

Confident AI MCP Architecture


🚀 快速开始

假设您的 LLM 应用是一个基于 RAG 的客户支持聊天机器人;以下是 DeepEval 如何帮助测试您构建的内容。

安装

Deepeval 需要 Python>=3.9+

pip install -U deepeval

创建账户(强烈推荐)

使用 deepeval 平台将允许您在云端生成可共享的测试报告。它是免费的,无需额外代码设置,我们强烈建议您尝试一下。

要登录,请运行:

deepeval login

按照 CLI 中的说明创建账户,复制您的 API 密钥,并将其粘贴到 CLI 中。所有测试用例将自动记录(有关数据隐私的更多信息,请参见此处)。

编写您的第一个测试用例

创建一个测试文件:

touch test_chatbot.py

打开 test_chatbot.py 并编写您的第一个测试用例,使用 DeepEval 运行 端到端 评估,将您的 LLM 应用视为黑盒:

import pytest
from deepeval import assert_test
from deepeval.metrics import GEval
from deepeval.test_case import LLMTestCase, LLMTestCaseParams

def test_case():
    correctness_metric = GEval(
        name="Correctness",
        criteria="Determine if the 'actual output' is correct based on the 'expected output'.",
        evaluation_params=[LLMTestCaseParams.ACTUAL_OUTPUT, LLMTestCaseParams.EXPECTED_OUTPUT],
        threshold=0.5
    )
    test_case = LLMTestCase(
        input="What if these shoes don't fit?",
        # 将此替换为您的 LLM 应用的实际输出
        actual_output="You have 30 days to get a full refund at no extra cost.",
        expected_output="We offer a 30-day full refund at no extra costs.",
        retrieval_context=["All customers are eligible for a 30 day full refund at no extra costs."]
    )
    assert_test(test_case, [correctness_metric])

将您的 OPENAI_API_KEY 设置为环境变量(您也可以使用自己的自定义模型进行评估,更多详情请访问我们文档的此部分):

export OPENAI_API_KEY="..."

最后,在 CLI 中运行 test_chatbot.py

deepeval test run test_chatbot.py

恭喜!您的测试用例应该已通过 ✅ 让我们分解一下发生了什么。

  • 变量 input 模拟用户输入,actual_output 是您的应用程序基于此输入应输出的内容的占位符。
  • 变量 expected_output 代表给定 input 的理想答案,GEvaldeepeval 提供的一种基于研究的指标,用于以类人准确性评估您的 LLM 输出是否符合任何自定义标准。
  • 在此示例中,指标 criteria 是根据
7 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 19 ms
Developed with Cursor