背景与边界
重排(Rerank)与组装决定进入生成(Generation)上下文的证据质量,直接影响答案准确性。
要完成的工作
- 输入:多路召回候选集。
- 处理:重排、去重、冲突消解、上下文压缩、引用组装。
- 输出:Top-N 证据包。
实现目标
- 提升事实正确率与引用命中率。
- 控制上下文 token 成本。
阶段指标
评测本阶段时冻结召回候选池,只改精排、压缩与引用装箱。
段末注释:上下文精确率(Context Precision) = 送给生成的证据包里有用块的比例(及是否排在包前部);引用精确率(Citation Precision) = 已挂引用的论断(claim)能被对应原文片段(span)支持的比例。
nDCG@n(精排后)
- 含义:进入生成的 Top-$n$($n\ll k$)排序是否把高价值证据提前。
- 计算:同 nDCG,列表改为精排后的 $n$ 条。
- 适配:Rerank-centric;比较 bge-reranker / Cohere 等。
- 不适配:候选池 $k$ 已不含金标准——精排抬不动 Recall,应回退到召回。
上下文精确率
- 含义:证据包噪声占比;压缩前的诊断指标。
- 计算:对证据包从前往后,按块是否支撑参考答案计相关,再对位置加权平均(实现跟 RAGAS
context_precision)。 - 适配:决定要不要上 Context Compression。
- 不适配:没有参考答案、只有用户点踩——改用人工/LLM 相关性,口径需单列。
压缩保真率
- 含义:压缩后金标准 span 是否仍在;代价是 token 比。
- 计算:$\mathrm{Keep}=|S_{\mathrm{gold}}\cap S_{\mathrm{compressed}}|/|S_{\mathrm{gold}}|$,并报 $\mathrm{token}{out}/\mathrm{token}{in}$。
- 适配:Context Compression、长方法/图表说明。
- 不适配:证据本来就短于预算——压缩只会掉保真、省不到钱。
引用精确率
- 含义:标了引用的 claim,是否真能被该 span 支持。
- 计算:claim 集合 $C$,$\mathrm{CiteP}=|{c\in C: \mathrm{supported}(c,\mathrm{span}(c))}|/|C|$。
- 适配:Citation Packing、合规/可审计。
- 不适配:不对用户展示引用的内部助手——优先看生成侧忠实度即可。
主要难点
- 精排模型成本与吞吐的平衡。
- 排序相关性与覆盖度冲突。
成熟解决方案
- 两阶段排序(first-pass + 精排)。
- MMR 多样性组装。
- 上下文压缩(Context Compression)。
- 引用组装(Citation Packing)。
二级方法对比(含 100 篇生物学文献量级)
假设:语料为 100 篇生物学 PDF 建库后的 候选 chunk 池(规模同前);重排/压缩/引用组装既可离线跑 固定评测集(如 200–500 条生物问答),也可按「单次用户提问」看在线增量。硬件参考 A10 24GB。下表「时间」在离线场景指 对一批问答或全库段落做一次批处理 的量级。
| 二级方法 | 适用范围 | 特点 | 主流实现框架 | 100 篇文献·资源消耗(估算) | 100 篇文献·时间消耗(估算) |
|---|---|---|---|---|---|
| Retrieval/Rerank-centric | 高准搜索问答、证据排序敏感 | 双塔召回 + Cross-encoder 精排,精度优先 | bge-reranker-v2-m3;Cohere Rerank(API) | Cross-encoder 推理 GPU 8–16 GB;候选池越大越吃算力 | 离线:对 5k–20k (q,chunk) 对评测 约 0.5–3 GPU·h;在线:每问 +80–400 ms |
| Context Compression | 长证据、多段拼接 | 在 token 预算下压证据,控成本与噪声 | LLMLingua-2;LangChain ContextualCompressionRetriever |
压缩/抽取模型 GPU 8–14 GB(若用小模型可更低) | 离线:对 100 条长上下文场景 约 0.5–2 GPU·h;在线:每问 +200–800 ms |
| Citation Packing | 合规、可追溯、审计 | claim 与最小证据 span 对齐 | LlamaIndex CitationQueryEngine;Haystack 引用管线 |
NLI/对齐模型可选 GPU 4–8 GB | 在线:每问 +100–600 ms(与 claim 条数相关) |