评估工具对比:Ragas、LangSmith、Braintrust
难度:中级 分类:Evaluation
简短回答
LLM/Agent 评估工具分为两大类:评估框架(定义指标和运行评估,如 Ragas、DeepEval)和评估平台(提供完整的评估+监控+协作能力,如 LangSmith、Braintrust、Langfuse)。Ragas 专注于 RAG 评估,提供 Faithfulness、Answer Relevancy、Context Precision 等 RAG 专用指标;LangSmith 是 LangChain 生态的全栈平台,强在 Trace + 评估 + Playground 一体化;Braintrust 专注于评估和 Prompt 迭代,强在 A/B 测试和在线评估;Langfuse 是最流行的开源替代方案,支持 OTel 和多种框架。选择原则:RAG 专项评估 → Ragas;LangChain 生态 → LangSmith;框架无关 + 开源 → Langfuse;专业评估工作流 → Braintrust。
详细解析
工具全景分类
代码块
Plain Text
LLM 评估生态:
│
├── 评估框架(定义指标、运行评估)
│ ├── Ragas:RAG 专用评估
│ ├── DeepEval:通用 LLM 评估(开源)
│ ├── Promptfoo:Prompt 对比测试
│ └── Giskard:安全和偏差测试
│
├── 评估平台(评估 + 监控 + 协作)
│ ├── LangSmith:LangChain 全栈平台
│ ├── Braintrust:专业评估和迭代
│ ├── Langfuse:开源可观测性平台
│ ├── Arize Phoenix:ML/LLM 观测平台
│ └── Maxim AI:Agent 评估专注
│
└── 通用观测(可扩展到 LLM)
├── Datadog LLM Observability
├── New Relic AI Monitoring
└── Grafana + OpenTelemetry
Ragas:RAG 评估专家
代码块
Python
from ragas import evaluate
from ragas.metrics import (
faithfulness,
answer_relevancy,
context_precision,
context_recall,
)
# Ragas 的 RAG 专用指标
ragas_metrics = {
"Faithfulness": {
"含义": "回答是否基于检索到的上下文(非幻觉)",
LangSmith:LangChain 全栈平台
代码块
Python
from langsmith import Client
from langsmith.evaluation import evaluate
client = Client()
# LangSmith 的核心能力
langsmith_features = {
"Tracing": "自动追踪 LangChain/LangGraph 的每步执行",
"Datasets": "创建和管理评估数据集",
"Evaluators": "内置和自定义评估器",
Braintrust:专业评估和迭代
代码块
Python
import braintrust
# Braintrust 的核心能力
braintrust_features = {
"Eval Framework": "声明式评估框架,简洁易用",
"Online Evals": "生产流量的实时评估",
"Prompt Playground": "Prompt 在线编辑和对比",
"A/B Testing": "内置的 Prompt A/B 测试",
"Logging": "自动记录所有 LLM 调用",
}
# 运行评估
@braintrust.traced
def my_task(input):
return agent.invoke(input)
experiment = braintrust.Eval(
Langfuse:开源可观测性
代码块
Python
工具对比总结
选择决策树
常见误区 / 面试追问
误区:"选一个工具就够了" — 评估框架(Ragas)和评估平台(LangSmith/Langfuse)是互补的。Ragas 定义 RAG 评估的指标,LangSmith/Langfuse 提供运行评估和追踪的基础设施。生产系统通常需要两者结合。
误区:"商业平台一定比开源好" — Langfuse 作为开源方案在很多场景下已足够好,且可以自部署保证数据安全。商业平台的优势在于企业级支持、更丰富的 UI 和更好的协作功能。
追问:"这些工具如何处理数据隐私?" — 评估工具会记录 LLM 的输入输出,可能包含敏感数据。解决方案:(1) 自部署 Langfuse 保证数据不出组织;(2) 配置 PII 脱敏规则;(3) 只在开发环境记录完整数据,生产环境只记录指标。
追问:"如何从零开始搭建评估体系?" — 三步走:(1) 先用 Langfuse/LangSmith 加 Tracing,了解 Agent 的行为;(2) 构建 Golden Dataset 并用 DeepEval/Ragas 定义指标;(3) 集成到 CI/CD 实现自动化回归测试。