CitedRAG 对话页:回答的每个结论后面带 [1][2] 引用编号,下方展开证据

证据优先的 RAG 工作台

CitedRAG

面向论文与技术文档的知识问答工作台,支持文档导入、证据检索与带来源和页码引用的回答。

  • Python
  • FastAPI
  • LangGraph
  • React
05 / 05 · DOCUMENTATION

评测与验证边界

分开衡量检索、编排、引用和答案质量,并保留配置快照与逐题结果以便复查。

四种问题分别测

层面需要回答的问题不能由它证明的事
检索命中正确来源、页码和片段是否被召回回答是否忠实、推理是否正确
编排委派是否完成、预算是否遵守、失败是否有合理回退某条答案的事实准确性
引用结构编号是否有效、是否对应已有证据引用片段是否真正支持结论
语义支持与拒答每句是否有据、无证据时是否停止任意语料和模型上的通用准确率

评测脚本覆盖检索和编排,工作台提供案例、单题调试和批量运行。每次运行保存配置、提供商、评分规则与逐题结果,方便对比一次配置变化究竟影响了哪些问题。

从错误位置选择指标

症状优先检查可能的原因
正确资料完全没出现候选来源、页码、片段召回切片、分词、查询措辞或候选规模
候选有答案,最终上下文没有重排前后列表和预算截断排序、阈值或上下文预算
引用了正确论文,结论仍错具体引文与逐句支持模型超出资料推断
简单问题成本很高委派路径、调用次数与耗时不必要规划或反复研究
没有资料却给出肯定回答拒答案例与校验诊断证据门槛或失败关闭失效
恢复后出现两份回答运行状态、幂等键与提交标记请求重放或结果提交重复

检索评测主要定位“找没找到”,回答评测定位“有没有用对”,协议和状态测试定位“是否正确运行并提交”。它们应组合使用,不能用一个端到端总分替代所有层次。

常见检索指标的含义

Recall@K 衡量标注的相关片段有多少进入前 K 项,MRR 关注第一个相关结果的位置,NDCG 可以使用不同相关性等级衡量排序质量。这些指标需要相应片段标注,没有标注时不应把未计算显示为零分或默认通过。

来源命中比片段命中更宽松:一篇论文有许多页,命中同一篇不一定取到能回答问题的段落。评测应同时保留来源、页码和相关片段,才能区分“找对文档”与“找到证据”。

历史记录怎么读

项目 README 记录的 gold50 包含 45 个可答题与 5 个拒答题。固定语料、配置下,hybrid + rerank + parent expansion 的可答题通过为 41/45,来源命中率 100%、页码命中率 93%;这些指标分母和含义不同,不能合成一个“系统准确率”。

另有 15 个编排任务的历史记录:15/15 有据,14/15 成功;retrieve 路径 6/6,检索调用约为 ReAct 的 1/6。它说明当时任务集与配置的表现,不是所有问题都应走固定 retrieve 路径。

以上来自已提交历史记录,本次网站搭建没有重新运行模型、下载论文或复测这些数字。论文语料未随仓库完整分发,复现时还需要同一份语料与模型配置。

哪些条件需要固定

复现至少需要一致的语料版本、解析与切片方式、embedding、重排器、检索配置和标注。编排评测还受生成模型、温度、预算与失败重试影响;即使代码相同,替换模型也可能改变答案与委派路径。

“41/45 可答题通过”和“5 个拒答题的表现”应分开报告。扩大拒答比例有时会提高有据率,却降低可回答问题的覆盖率;只强调一种指标,会掩盖系统在保守性与可用性之间的取舍。

工作台评测怎样使用

案例保存问题、预期来源、关键词或任一匹配组、预期回答行为,以及可选参考答案和相关片段标注。单题调试用于检查一次具体结果,批量运行用于冻结配置后比较同组问题。

一份有效评测结果应能回看答案、引用、候选证据、诊断与执行配置。汇总分下降后先找逐题变化,再判断是某个领域召回变差、拒答门槛变化,还是模型裁判异常。

批量取消需要保留已完成结果和未完成数量,而不是删除整次运行。导出让结果脱离当前界面仍可复查;配置快照则避免后来修改参数后,误以为历史分数来自新配置。

演示现场计算什么

三个内置案例分别检查混合检索、证据约束和无来源拒答。用户可新增或编辑案例,运行后保存答案、引用和词项召回结果。关键词、来源与行为检查从当前结果计算;批量记录支持比较、取消和导出。

这些是确定性的本地检查。演示不会执行 Ragas 或模型语义评分;选择相关选项会明确返回 skipped,结果里的 semantic_support_evaluated 为 false。样例全部通过只说明这些本地检查通过,不能替代真实后端评测。

真实后端的 Ragas 路径使用模型评估 Faithfulness、Answer Relevancy 等指标,部分参考型指标还需要参考答案。模型不可用、指标未配置和评分失败应保留状态,不能把它们混成一个有效数值。本站只展示相关入口与跳过原因。

可靠性应覆盖的场景

后端测试分开覆盖 SSE 协议与断流、审批与过期决策、运行取消与恢复、工作区隔离、重复请求指纹、来源指纹、文档替换与索引任务。模型相关行为另需配置真实服务验证。

网站演示还应检查:流式事件被原前端正确消费;取消后旧审批无效;重复提交只保存一轮;空工作区不能读其他工作区的证据;删除和替换后检索不再使用旧内容。检查这些状态比只验证一个成功回答更接近实际使用。

故障场景核心断言
生成中刷新或断流能根据原运行确认状态,不无条件重复启动
审批后立即取消迟到批准与结果不能重新完成已取消运行
重复请求标识但内容变化明确冲突,不复用错误答案
工作区失效时后台仍在计算generation 检查阻止旧结果提交
文档替换、删除或重新索引新问题使用有效索引与对应元数据
来源批次部分失败已成功条目和失败原因都能追溯

这些断言优先检验边界和状态,因为真实用户遇到的往往不是“完全无法运行”,而是半段答案、过期审批、旧证据或重复会话。模型输出质量另需用固定语料与真实服务验证,协议正确不能替代语义正确。