RAG(Retrival Augumented Generation)技术对于扩充模型的知识,减少幻觉,提高实用性上非常重要。这篇文章主要是介绍一个RAG系统的各个工作环节,对应的可调节参数以及应用场景。

RAG系统的工作流程

Ingestion

  • parsing(pdf html)
  • chunking
    • metadata 来源、标题、章节、日期、权限
    • contextual retrieval
  • Vector db indexing
    • dense model choice 模型维度、语言支持、是否非对称
    • sparse / bm25 indexing
  • embedding/index 的更新机制

Retrieve

  • Query processing
    • rewrite
    • expand
    • HyDE
    • query routing
  • metadata filtering
  • Hybrid search 融合 RRF 或加权
  • rerank
  • 上下文压缩 / 去重(把检索到的内容裁剪、去冗余,省 context window)
  • chunk 扩展(检索命中小 chunk,但喂给 LLM 时取回它的相邻上下文或父文档,即 “small-to-big” / parent-document retrieval)

Generation

  • no-answer / 兜底

  • prompt 拼装(把 query + 检索结果组织成 prompt)

  • 生成

  • citation / attribution(标注答案出自哪个 chunk,可溯源)

  • 幻觉检测 / groundedness 校验(答案是否真的基于检索内容)

Evaluation

  • 端到端 / 系统级指标——latency、成本(每 query 的 token 和检索开销)、命中率。

  • 检索质量(recall@k、precision、MRR、nDCG)

  • 生成质量(faithfulness/groundedness、answer relevance)

  • 常用框架如 RAGAS。没有评估就没法调前面所有的参数(包括我们前面讨论的 chunking 阈值)。