RAG 篇:基于知识库的智能问答系统设计

RAG 用检索把外部知识送进上下文,让模型基于企业文档、代码库、规范和数据库说明回答问题。

RAG 篇:基于知识库的智能问答系统设计

RAG 的全称是 Retrieval-Augmented Generation,也就是检索增强生成。它解决的问题很直接:模型参数里的知识不一定新、不一定全,也不一定包含企业内部文档,所以要先检索,再生成。

Rendering diagram...

RAG 的核心链路

第一步是文档解析,把 PDF、Markdown、网页、代码和数据库说明转成文本。第二步是切分,避免上下文太长。第三步是向量化,把文本变成 embedding。第四步是检索和重排。最后把命中的片段连同问题一起交给模型。

type RetrievedChunk = {
  id: string;
  source: string;
  content: string;
  score: number;
};

RAG 和微调的区别

RAG 更适合经常变化的知识,比如业务文档、接口说明、故障手册。微调更适合稳定的行为模式,比如固定风格、分类规则、领域表达方式。

如果问题是“模型不知道这份文档”,优先 RAG。如果问题是“模型知道但总是不按我的格式做”,再考虑微调或更强的结构化约束。

常见架构问题

RAG 失败常常不是模型失败,而是检索失败。文档切得太碎会丢上下文,切得太大又会引入噪声。只看向量相似度也不够,很多生产系统会加入关键词检索、元数据过滤和 rerank。

小结

RAG 的关键不是“接一个向量数据库”这么简单,而是让知识进入模型之前足够准确、干净、可追溯。

参考链接