评测与安全工具
retrieval-lab:基于 BEIR 的两阶段 RAG 检索器构建与逐步量化评测实验台
JiamanBettyWu/retrieval-lab · Two-stage RAG retriever measured against a computed oracle ceiling on BEIR
ELI5:它是什么,解决什么问题
retrieval-lab 是一个检索质量实验项目:以 BEIR(NFCorpus、SciFact、FiQA)为基准,用 NDCG@10、MRR@10、Recall@100 等指标,对两阶段 RAG 检索器(双编码器召回 + 交叉编码器重排)的每一处改动进行测量,包括用 LoRA 微调编码器后发现效果变差的结果也如实保留。项目还计算 oracle 重排上限,区分“相对基线提升”与“占可用提升空间的百分比”,并讨论 qrel 密度、基线 NDCG 等混杂因素的归因分析;后续阶段计划把已验证的检索器接到生成器后面,用与人工标注校准的 LLM-as-judge 评测有据回答。
核心能力与快速开始
★ 0 · Python
- 能做什么
- 提供可复现的检索评测流水线:对 BEIR 数据集运行双编码器(all-MiniLM-L6-v2)基线、交叉编码器重排、LoRA 编码器微调与重排三种配置,输出 NDCG@10、MRR@10、Recall@100,并按 (dataset, model, top_k) 缓存候选集合;oracle 入口在 qrels 基础上给出仅重排不新增候选的理论上限;支持按查询的胜/负统计与按相关文档可得性分桶的归因分析,并以锁文件固定依赖版本以保证指标可复算。
- 适用场景
- 适合需要在上线前量化验证 RAG 检索改动的团队或个人:对比加入重排器带来的收益、判断微调编码器是否真的有效、用 oracle 上限而非 1.0 作为增益分母来评估改进空间、复核既有检索结论的可复现性。
- 项目形态
- 研究实现
- 部署方式
- 未说明;README 仅给出本地运行方式(uv 创建虚拟环境并安装可选 extras,从仓库根目录执行各 Python 模块入口)。
- 主要依赖
- Python 环境与 uv;可选 extras:dev(pytest)、tracing(Weave,需 WANDB_API_KEY,未设置时追踪不生效)、train(peft + accelerate + datasets,仅微调阶段需要)。硬件未说明;首次运行需下载模型与数据,编码约 1 分钟(材料所述)。
- 使用限制
- README 表明 Wiki 演示 UI 已被取消而非延期;当前消融表中仅 NFCorpus 与部分 SciFact/FiQA 的结果,生成阶段(Phase 4)结果尚未纳入该表;作者指出 qrel 密度与基线 NDCG 的相关性对称,现有数据无法判定归因,需干预实验(如用稠密 qrels 训练的 reranker)才能确认;所有指标会随模型与 tokenizer 版本变化。
- 许可证
- MIT
- 最近推送
- 2026-10-25 09:59
资料检查:2026-10-26 07:00 · 卡片整理:2026-10-26 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证
职业应用
程序员
作为检索质量实验台,用于构建和评测两阶段 RAG 检索器(双编码器召回 + 交叉编码器重排),在 BEIR 数据集上以 NDCG@10、MRR@10、Recall@100 等指标量化每次改动,并计算 oracle 重排上限以区分相对基线提升与占可用提升空间的比例。
查看内容依据
retrieval-lab 是一个检索质量实验项目:以 BEIR(NFCorpus、SciFact、FiQA)为基准,用 NDCG@10、MRR@10、Recall@100 等指标,对两阶段 RAG 检索器(双编码器召回 + 交叉编码器重排)的每一处改动进行测量
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。