← 返回列表

retrieval-lab:基于 BEIR 的两阶段 RAG 检索器构建与逐步量化评测实验台

JiamanBettyWu/retrieval-lab · Two-stage RAG retriever measured against a computed oracle ceiling on BEIR

GitHub原文发布 未知首次收录 2026-10-26上架 2026-10-26 07:02

☆ 收藏查看项目 ↗

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

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。