开源评估工具对比
High Contrast
Dark Mode
Light Mode
Sepia
Forest
2 min read387 words

开源评估工具对比

评估工具生态全景

2026 年,LLM 评估工具已经形成了丰富的生态,从框架级到平台级应有尽有。选择合适的工具组合是搭建评估体系的第一步。

graph TB A[LLM 评估工具生态] --> B[评估框架] A --> C[基准测试] A --> D[可观测性] A --> E[安全测试] B --> B1[RAGAS] B --> B2[DeepEval] B --> B3[LangSmith Eval] B --> B4[Promptfoo] C --> C1[lm-eval-harness] C --> C2[OpenCompass] C --> C3[HELM] C --> C4[Big-Bench] D --> D1[LangFuse] D --> D2[Phoenix/Arize] D --> D3[Weights & Biases] E --> E1[Garak] E --> E2[PyRIT] E --> E3[Prompt Injection Bench] style A fill:#e3f2fd,stroke:#1976d2,stroke-width:3px style B fill:#c8e6c9,stroke:#388e3c,stroke-width:2px style C fill:#fff3e0,stroke:#f57c00,stroke-width:2px style E fill:#ffcdd2,stroke:#c62828,stroke-width:2px

评估框架横向对比

工具 类型 语言 核心能力 RAG 支持 LLM Judge 自定义指标 社区活跃度
RAGAS 评估框架 Python RAG 专项评估 ★★★★★ ★★★★★
DeepEval 评估框架 Python 通用 LLM 评估 ★★★★ ★★★★
Promptfoo CLI 工具 Node.js Prompt 测试 ★★★ ★★★★
LangSmith 平台 Python 全链路追踪+评估 ★★★★ ★★★★★
lm-eval-harness 基准测试 Python 学术基准 ★★ ★★★★★
OpenCompass 基准测试 Python 中文基准 ★★★ ★★★★
LangFuse 可观测性 Python/TS 追踪+评估 ★★★★ ★★★★
Garak 安全测试 Python 漏洞扫描 ★★ ★★★

主流工具详解

RAGAS — RAG 评估首选

"""
RAGAS 评估示例
"""
# pip install ragas
# RAGAS 核心四指标
RAGAS_METRICS = {
"faithfulness": {
"description": "生成内容对上下文的忠实度",
"range": "0.0 - 1.0",
"target": ">= 0.85",
"method": "声明分解 → 逐条 NLI 验证",
},
"answer_relevancy": {
"description": "回答与问题的相关程度",
"range": "0.0 - 1.0",
"target": ">= 0.80",
"method": "从回答反向生成问题 → 计算余弦相似度",
},
"context_precision": {
"description": "检索上下文的排序质量",
"range": "0.0 - 1.0",
"target": ">= 0.75",
"method": "相关上下文的排名位置分析",
},
"context_recall": {
"description": "检索是否覆盖了所有相关信息",
"range": "0.0 - 1.0",
"target": ">= 0.80",
"method": "参考答案声明 ↔ 上下文映射",
},
}
# 打印指标说明
print("RAGAS 核心指标:")
for name, info in RAGAS_METRICS.items():
print(f"\n  {name}:")
print(f"    说明: {info['description']}")
print(f"    目标: {info['target']}")
print(f"    方法: {info['method']}")

DeepEval — 通用 LLM 测试

"""
DeepEval 使用模式(概念示例)
"""
# DeepEval 的核心概念:像单元测试一样测试 LLM
DEEPEVAL_FEATURES = {
"test_cases": "定义输入、实际输出和期望输出",
"metrics": "14+ 内置指标 (G-Eval, hallucination, bias...)",
"datasets": "管理评估数据集",
"confident_ai": "可视化评估历史",
}
# DeepEval 独有指标对比
DEEPEVAL_UNIQUE_METRICS = [
{
"name": "G-Eval",
"description": "利用 LLM 逐步推理评分",
"advantage": "可自定义评估标准",
},
{
"name": "Hallucination",
"description": "检测输出中的虚构信息",
"advantage": "上下文感知的幻觉检测",
},
{
"name": "Toxicity",
"description": "有害内容检测",
"advantage": "多类别有害性分析",
},
{
"name": "Bias",
"description": "偏见检测",
"advantage": "性别、种族等多维度",
},
]
for metric in DEEPEVAL_UNIQUE_METRICS:
print(f"  {metric['name']}: {metric['description']} — {metric['advantage']}")

Promptfoo — Prompt 红队测试

"""
Promptfoo 配置模式概览
"""
# Promptfoo 通过 YAML 配置运行评估
PROMPTFOO_CONFIG_EXAMPLE = """
# promptfoo.yaml
prompts:
- "回答以下客服问题:{{question}}"
- "你是专业客服。用户问题:{{question}}\\n请简洁回答:"
providers:
- openai:gpt-4o
- anthropic:claude-3.5-sonnet
tests:
- vars:
question: "退货政策是什么?"
assert:
- type: contains
value: "30天"
- type: llm-rubric
value: "回答包含退货期限和条件"
- vars:
question: "配送几天到?"
assert:
- type: contains
value: "工作日"
"""
# Promptfoo vs 其他工具
COMPARISON = {
"Promptfoo": "CLI 驱动,适合 CI/CD 集成,支持 Prompt A/B 测试",
"RAGAS": "Python API,RAG 专精,学术背景",
"DeepEval": "Python API,通用 LLM,丰富指标",
}
for tool, desc in COMPARISON.items():
print(f"  {tool}: {desc}")

工具选型决策树

graph TD A[评估什么?] --> B{RAG 系统?} B -->|是| C[RAGAS + LangFuse] B -->|否| D{Prompt 优化?} D -->|是| E[Promptfoo] D -->|否| F{通用 LLM 质量?} F -->|是| G[DeepEval] F -->|否| H{学术基准?} H -->|是| I[lm-eval-harness / OpenCompass] H -->|否| J{安全测试?} J -->|是| K[Garak + PyRIT] J -->|否| L[LangFuse 追踪 + 自定义指标] style A fill:#e3f2fd,stroke:#1976d2,stroke-width:3px style C fill:#c8e6c9,stroke:#388e3c,stroke-width:2px style E fill:#c8e6c9,stroke:#388e3c,stroke-width:2px style G fill:#c8e6c9,stroke:#388e3c,stroke-width:2px

本章小结

下一章:学习如何搭建自建评估平台,整合多种工具。