跳到正文
Sin

Agentic RAG

基于 LangGraph 实现大模型自主决策的 RAG 闭环系统

开发 , 学习 1 分钟阅读

##传统的 RAG 查询流程:

用户输入原始 query 给嵌入模型做向量化处理,milvus向量数据库在收到请求后根据余弦相似度检索内部数据,然后再根据检索出的相关文档转换成增强后的 prompt 送到大模型,大模型经过处理生成的回答返回给用户。

但是传统的流程太固定,会有一些问题:

  1. 全量检索,资源浪费 — 不管什么问题都走一遍检索流程,像”1+1等于几”这种常识性问题根本不需要查知识库
  2. 缺乏纠错和评估机制 — 检索回来的内容到底准不准、够不够,系统本身完全没数,全靠”赌”
  3. 搞不定多步推理的复杂问题 — 比如”先查 A 的定义,再拿 A 去匹配 B 的规则”,这种需要分步检索、逐步收敛的场景,传统 RAG 直接躺平
  4. 纯语义检索对专业场景力不从心 — 专业术语、精确实体这类东西,关键词匹配往往比向量相似度靠谱得多,纯语义检索容易”貌合神离”
  5. 本地没命中就直接瞎编 — 知识库里没有对应内容时,不会主动去网络搜索补充,模型就开始”自由发挥”了

针对上述问题的解决方法是引入大模型,核心思路:让大模型成为 RAG 的”大脑”,由它来调度整个检索流程:

  1. 智能路由 — 模型先判断问题类型,简单问题直接回答,复杂问题才走完整检索链路,避免一刀切
  2. 检索质量评估 — 每次检索完,模型自动判断结果是否相关、是否充分,不够就重新检索或补充检索
  3. 多步自主检索 — 面对复杂问题,模型自动拆解为多个子问题,规划检索顺序,逐步收敛出最终答案
  4. 混合检索融合 — 同时走关键词检索和语义检索两条路径,由模型统一融合排序,专业场景的召回准确率大幅提升
  5. 联网搜索兜底 — 本地知识库覆盖不足时,模型主动触发网络搜索补充信息,而不是硬编一个答案糊弄过去

把原本固定的”检索-生成“流程,升级为可思考、可判断、可纠错的智能 RAG,就变成了 Agentic RAG.