Page QiView

高级 RAG 系统:检索、重排与知识运营

高级 RAG 系统:检索、重排与知识运营

1. RAG 的本质

RAG 不是“加个向量库”,而是把回答过程拆成:

  1. 找证据(retrieval)。
  2. 选证据(rerank)。
  3. 用证据生成(grounded generation)。

目标是降低幻觉并提升可审计性。

2. 核心优化目标

$$ d^*=\arg\max_{d\in\mathcal{D}_K} score(q,d) $$

其中 score 可结合语义相似度、关键词覆盖、时效性、来源可信度。

3. Python 管线骨架

# 伪代码
chunks = splitter(docs)
index = build_vector_index(chunks)

cand = index.search(query, top_k=40)
reranked = cross_encoder_rerank(query, cand, top_k=8)

answer = llm.generate(
    prompt=build_prompt(query, reranked),
    temperature=0.2,
)

4. 关键工程点

  1. 切块策略:按语义单元切而不是固定字数切。
  2. 混合检索:向量检索 + BM25 并行召回。
  3. 重排模型:跨编码器比纯向量相似度更稳。
  4. 引用策略:输出必须可回链到证据段落。

5. 失败模式

  1. 召回不足:模型“编”而不是“答”。
  2. 检索污染:过期或低质量文档混入。
  3. 提示注入:文档中的恶意指令劫持输出。

6. 评估建议

  1. 召回层:Recall@k、MRR。
  2. 生成层:事实一致性、引用命中率。
  3. 线上层:问题解决率、人工复核通过率。

高级 RAG 的竞争力来自“知识运营能力”,而不只是模型参数规模。