ARAGOG
系统化评测多种 RAG 策略效果的量化基准框架,基于 AI-ArXiv 论文数据集
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
系统化评测多种 RAG 策略效果的量化基准框架,基于 AI-ArXiv 论文数据集
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
当你花了几天时间调优一个 RAG 系统,上线后却发现回答质量依然差强人意——问题出在哪里?是检索不够精准?是上下文窗口太短?还是提示词写得太烂?大多数开发者只能靠「人肉试错」,效率极低。ARAGOG(Advanced RAG Output Grading) 试图解决这个问题:它构建了一套系统性的 RAG 评测框架,用量化指标告诉你,哪种 RAG 策略对你的数据集最有效。

RAG(检索增强生成)已经成为 LLM 应用的主流架构,但 RAG 本身就有大量可调参数: chunk size 设置多少合适?句子窗口(Sentence Window)策略要不要用?HyDE(假设性文档嵌入)能否提升召回?这些问题没有标准答案,只能在具体数据集上反复实验。
ARAGOG 的核心思路很简单:用同一套问答数据集,系统性地对比多种 RAG 策略的效果差异。该研究对应的论文已被 arXiv 收录(arXiv:2404.01037),方法论上有一定的学术支撑。团队来自 predlico,使用的数据集是 AI-ArXiv 论文库中的 107 篇论文,每篇论文配套 1 个问答对,形成了一个相对标准化且有深度的评测集。
ARAGOG 的代码架构清晰,主要分为三个层次:
这一层负责准备评测数据。核心流程是:
jamescalam/ai-arxiv 数据集(完整的 AI 论文语料)llama_index 的 TokenTextSplitter 对文档进行分块OpenAIEmbedding(text-embedding-3-large)将文本转为向量代码支持构建三种不同策略的向量库:
from llama_index.core.node_parser import SentenceWindowNodeParser
parser = SentenceWindowNodeParser(...)
nodes = parser.get_nodes_from_documents(documents)
这部分定义了在每种向量库上运行的查询引擎。ARAGOG 支持对比多种 RAG 策略:
查询引擎使用 llama_index 统一封装,代码可读性较好,通过配置文件动态切换策略。
这是 ARAGOG 区别于大多数 RAG Demo 的关键。它引入了 Tonic Validate 评测服务,对每个实验运行进行量化打分:
每次实验默认跑 5 轮,最终结果上传到 Tonic Validate 平台,并导出为 final_results.xlsx 供离线分析。
| 组件 | 技术选型 | 作用 |
|---|---|---|
| LLM | GPT-3.5-turbo(OpenAI) | 答案生成 |
| Embedding | text-embedding-3-large(OpenAI) | 文档向量化 |
| 向量库 | ChromaDB(持久化) | 检索引擎 |
| Reranker | Cohere Rerank API | 重排优化 |
| 评测框架 | Tonic Validate | 量化评分 |
| 数据集 | HuggingFace jamescalam/ai-arxiv | 评测语料 |
项目无 MIT/Apache 等开源许可证声明,README 中提到 MIT License 但实际没有 LICENSE 文件——这是一个合规隐患。
ARAGOG 是一个纯研究代码项目,面向具备 RAG 基础知识的开发者。上手需要:
vector_db.py 初始化 ChromaDB(约占用 1GB+ 磁盘).sample.env 填写各 Keypython main.py,每次实验默认 5 轮,耗时较长res_analysis.ipynb 笔记本提供可视化分析对于只是想快速体验 RAG 的爱好者,这个项目的上手成本较高。但对于想系统性评测 RAG 策略的研究者或团队,它提供了完整的基准测试框架。

1. API 依赖过重,无法本地化运行
整个项目完全依赖 OpenAI、Cohere 和 Tonic Validate 三个商业服务。没有提供 Ollama 等本地 LLM 的接入方式。对于关注数据隐私或预算敏感的用户,这是一大限制。
2. 评测方法论未充分公开
虽然论文已在 arXiv 公开(2404.01037),但评测的具体打分权重、轮次设置、prompt 模板等细节,需要仔细阅读代码和论文才能理解。README 的评测说明相对简略。
3. 许可证状态不明
README 声称 MIT License,但仓库中没有 LICENSE 文件,GitHub API 查询 license 字段也返回 null。开源状态存在法律灰色地带,使用前需注意。
4. 项目活跃度较低
最后更新于 2024 年 4 月,距今超过两年(截至 2026 年),期间 llama_index 等核心依赖库已有多次破坏性更新。当前代码可能存在依赖兼容性问题。
ARAGOG 的价值在于将 RAG 调优从经验主义引向量化评估。在 RAG 系统日益复杂的今天,开发者往往面临「不知道哪种策略更好」的困境。ARAGOG 提供了一个可复现、可对比的实验框架,帮助团队做出数据驱动的决策,而非靠直觉试错。
推荐使用场景:
不推荐场景: