免费 LLM / RAG 评测工具教程:RAGAS / DeepEval / Promptfoo 零成本跑通质量门禁(2026-09-15 实测)
RAG 系列写到今天收官了:Embedding 教程教你"存",向量库榜单教你"放",MCP 教程教你"连"——最后一步是**"测"**。模型换一版、prompt 改一行、chunk 大小调一格,你的 RAG 应用质量是变好还是变坏?凭感觉不行,得用数据说话。
好消息是:主流评测工具全部免费开源,而且真正花钱的从来不是工具本身,是打分用的 judge 模型——只要把 judge 指到 Ollama 本地模型或免费 API 档,整轮评测一分钱不花。
先搞清楚:评测分三层
很多团队把"评测"当成一件事,实际是三层,工具各管一段:
| 层级 | 评什么 | 典型工具 |
|---|---|---|
| 基准测试 | 模型本身能力(MMLU / GSM8K / HellaSwag) | lm-evaluation-harness、OpenCompass |
| 应用断言 | 你的 RAG / Agent 应用输出质量 | RAGAS、DeepEval、Promptfoo |
| 生产遥测 | 线上真实流量的质量追踪 | Langfuse(开源)、Phoenix |
本文聚焦中间这层——大多数做 RAG 的开发者真正缺的就是它。
四款免费评测工具横评
| 工具 | 许可证 | 定位 | 特色 |
|---|---|---|---|
| RAGAS | Apache 2.0 | RAG 管道专用评分 | 四个核心指标:Faithfulness(无幻觉)、Answer Relevancy(切题)、Context Precision(检索排序)、Context Recall(召回全面) |
| DeepEval | Apache 2.0 | LLM 应用的 pytest | 把评测写进单元测试,CI 里跑,失败即红灯 |
| Promptfoo | MIT | Prompt / 模型 A-B 测试 | YAML 定义用例,多模型多 prompt 并行对比,还带安全红队扫描 |
| lm-evaluation-harness | 开源 | 模型基准评测 | EleutherAI 出品,60+ 基准(MMLU / GSM8K / ARC),支持 HF / vLLM / OpenAI 兼容后端 |
四款都免费、都能本地跑。区别只在于:你评的是"模型"还是"你的应用"。
5 分钟上手:RAGAS + 本地 judge 零成本评测
以最常见的 RAG 场景为例。核心思路:RAGAS 的四个指标全部用 LLM-as-judge 打分,把 judge 换成 Ollama 里的本地模型(比如 Qwen2.5-7B),全程无外部 API 调用。
from ragas import evaluate
from ragas.metrics import Faithfulness, AnswerRelevancy, ContextPrecision, ContextRecall
from datasets import Dataset
# 准备评测样本:问题、参考答案、检索到的上下文、你的 RAG 回答
samples = {
"question": ["apishare.cc 的免费 API 需要注册吗?", "..."],
"ground_truth": ["注册免费,部分模型需要 API Key", "..."],
"retrieved_contexts": [["apishare 用户注册文档...", "..."], ...],
"answer": ["注册本身免费...", "..."],
}
result = evaluate(
Dataset.from_dict(samples),
metrics=[Faithfulness(), AnswerRelevancy(),
ContextPrecision(), ContextRecall()],
)
print(result)
跑完你会得到四个 0-1 之间的分数。Faithfulness 低于 0.8 说明回答有编造成分(幻觉),Context Precision 偏低说明检索排序没做好——两个分数各对应一个明确的优化方向,这比"感觉答案还行"有用得多。
judge 模型怎么选? 本地资源够就上 Qwen2.5-7B / Llama 3.1 8B,CPU 也能跑,就是慢一点;资源紧张就用 Groq、Gemini 免费档当 judge,速度快、同样零成本。评测跑的是离线门禁,不要求低延迟,免费档的限速完全够用。
三选一怎么选
- 只评 RAG 管道 → RAGAS。四个指标就是 RAG 质量的"体检报告",社区生态最成熟
- 要进 CI / 团队开发流程 → DeepEval 或 Promptfoo。前者像 pytest 写单测,后者像测试框架跑 A-B,Promptfoo 还额外送安全红队(prompt 注入、越狱测试)
- 评模型本身选型 → lm-evaluation-harness。换模型前跑一遍 MMLU / GSM8K 对比,选型有数据支撑
五条避坑清单
- judge 别用被测模型自己。用同一个模型当选手又当裁判,分数虚高是常态。judge 和被测模型至少错开一家。
- 样本量别太小。20 条以内样本的分数波动很大,建议 50-100 条起步,且覆盖真实用户问法分布。
- 幻觉指标优先盯。RAG 里最伤用户体验的是编造事实,Faithfulness 应作为 CI 门禁的硬指标。
- 评测集要保鲜。业务改了、知识库更新了,旧的 ground_truth 就过期了,定期从线上真实问答里抽样回灌。
- 免费不等于没成本。本地 judge 吃 GPU/CPU 时间,免费 API judge 吃速率额度——评测频率高时用本地模型更划算。
把 RAG 系列串起来
到这里,apishare.cc 的免费 RAG 工具链就齐了:Embedding 教程(fa-997ed580)教你把文本向量化,向量库榜单(fa-902e75da)教你选 Chroma / pgvector / Qdrant,MCP 教程(fa-12d7e847)教你的 Agent 接上工具,今天的评测教程教你验证整套系统真的好用。全部组件都有免费方案,个人开发者和学生零成本跑通 RAG 全栈。
更多免费 API 渠道和模型对比,欢迎访问 apishare.cc 免费 API 专区,注册账号 统一管理你的 Key 与额度。