当前位置: 首页 > news >正文

RAG演进史:从“增强搜索”到“AI研究员”

一、为什么要用RAG?—— 大模型的不完美

大语言模型(LLM)虽然强大,但在实际应用中存在几个硬伤:

  • 时效性差:训练数据截止后的事件,模型完全不知道。

  • 幻觉问题:遇到不确定的知识会“编造”答案,尤其在数字、人名上。

  • 领域适应性弱:对医疗、法律、金融等垂直领域的专业术语理解不足。

  • 无法解释:答案从哪里来?黑盒,说不清。

  • 数据隐私风险:企业敏感数据不能轻易交给第三方大模型。

解决方案:不是重新训练模型(太贵),也不是只做微调(改善有限),而是用RAG——先检索相关资料,再让模型基于资料回答。

二、RAG的三次进化

第一代:基础RAG(Naive RAG)

核心流程:文档切块 → 向量化 → 存入向量库 → 用户问题向量检索 → 拼接Prompt → 大模型生成

主要问题

  • 检索不准:漏掉关键信息,或召回不相关内容。

  • 生成呆板:只是拼凑检索片段,缺乏分析整合。

  • 上下文干扰:多个相似片段导致输出重复或矛盾。

第二代:高级RAG(Advanced RAG)

在检索前后增加优化模块。

检索前优化

  • 重叠切块、添加元数据、分层索引

  • 查询改写、查询扩展(增加同义词)

检索中优化

  • 假设文档嵌入(先让LLM假想答案再检索)

  • 混合检索(向量 + 关键词)

  • 父子检索(子块精确匹配,父块提供上下文)

检索后优化

  • 重排序(Rerank)

  • 提示压缩、上下文重构、内容过滤

遗留问题

  • 流程固定,无法灵活应对不同类型的问题

  • 整套系统一次性部署,不够灵活

第三代:模块化RAG(Modular RAG)

最大亮点:引入编排模块(Orchestration),让系统学会“思考”该怎么做。

  • 路由:判断问题是否需要检索?需要单次还是多次检索?

  • 调度:动态调整检索和生成步骤,支持二次检索。

  • 知识引导:结合知识图谱增强推理。

仍存在的不足

  • 多跳推理问题(如“A的并发症如何解决”)准确率不高

  • 无法对数百上千个文档形成全局理解(如“近五年AI研究趋势”)

三、更前沿的RAG形态

1. Graph RAG(基于知识图谱)

做法

  • 用LLM从文档中抽取实体和关系,构建知识图谱

  • 用社区检测算法(如Leiden)划分知识社区

  • 为每个社区生成摘要,支持跨文档推理

优势:能回答需要全局理解多跳推理的问题

痛点

  • 成本极高(需要反复调用高质量LLM)

  • 无法生成综合性分析报告

2. Agentic RAG(智能体RAG)

核心思想:让AI Agent为RAG服务,形成一个“搜索 → 阅读 → 推理 → 再搜索”的循环。

关键能力

  • 问题规划与拆分

  • 自我反思与检索策略调整

  • 调用多种工具(数据库、搜索引擎、API)

  • 整合多模态信息(文本、图像、音频、视频)

典型应用:DeepSearch、DeepResearch —— 能自动生成复杂研究报告

四、真实场景中的特殊问题与应对

数据类型问题推荐方案
结构化数字表格向量检索效果极差存入SQL数据库,用LLM生成SQL查询
结构化文本表格难以直接检索转为多条问答对(Q&A Pair)
半结构化档案(如判例)内容高度相似抽取实体存入ElasticSearch或元数据
图片上的文本无法直接检索小批量用多模态大模型,大批量用OCR(如PaddleOCR)
图片本身无法检索少量图用多模态生成文本描述;大量图用多模态嵌入
音频(语音)非文本ASR转文字处理
音频(音乐/环境音)语义弱结合元数据分类
视频多模态混合关键帧(图片检索)+ OCR字幕 + ASR语音 + 元数据综合分析

五、一句话总结

  • Naive RAG:解决了“没有知识”的问题,但笨拙。

  • Advanced RAG:优化了检索质量,但死板。

  • Modular RAG:引入调度和路由,但全局理解弱。

  • Graph RAG:能全局理解,但太贵。

  • Agentic RAG:像研究员一样工作,能写复杂报告。

实际落地建议:没有万能的RAG方案。根据你的数据形态(表格/文本/图片/视频)和业务需求(实时/成本/准确率),选择或组合不同的RAG模式,才是工程之道。

http://www.jsqmd.com/news/594777/

相关文章:

  • 第二章:Linux内核核心组件
  • 【高等数学】第一讲:函数与初等函数
  • 幻境·流金惊艳生成:从织梦令到流金光影汇聚的全过程效果对比
  • Mac环境OpenClaw深度配置:Qwen3.5-9B-AWQ-4bit多模态任务优化
  • 2026随身WiFi行业新政解读|格行张总:合规代理零门槛,官方邀请码888886直达 - 格行官方招商总部
  • PyTorch 2.8镜像真实效果:经济指标→宏观调控政策影响视频推演
  • OpenClaw夜间自动化:千问3.5-9B定时爬取竞品数据
  • Phi-3-mini-4k-instruct-gguf开源部署:医疗科普内容生成与术语准确性校验方案
  • 智慧教育——解读AI一体化智慧校园解决方案【附全文阅读】
  • Brocade博科光纤交换机之 实战调试技巧
  • illa-helper开发者深度教程:如何扩展新的翻译服务提供商
  • OpenClaw技能开发入门:为百川2-13B-4bits量化版编写文件处理插件
  • 如何比较不同 SEO 公司的排名优化报价
  • 国际半导体行业展会推荐:全球标杆国内半导体展新赛道 - 品牌2026
  • OpenClaw浏览器自动化:Qwen3.5-9B-AWQ-4bit实现智能表单填写
  • 如何在5分钟内成为资源下载高手:res-downloader的终极指南
  • SEO型网站如何提高搜索引擎排名
  • mujoco建模(一)
  • 基于与非门的全加法器设计:从逻辑门到高效电路实现
  • Python 3.12 MagicMethods - 103 - __instancecheck__
  • 【高效开发工具系列】DataGrip实战技巧:从配置到高阶查询优化
  • 易语言黑月编译器插件v4.1.7.7安装配置全攻略(附VC++2015运行库避坑指南)
  • 姜翰奇补题
  • Qwen3.5-Plus Apache Tomcat 9、10 和 11 的核心区别在于支持的规范版本、命名空间(Package Name)以及最低 JDK 要求
  • 从 Promise 到 async/await:一次把 JavaScript 异步模型讲透
  • 嵌入式C语言宏嵌套展开机制与实战技巧
  • OpenClaw原理
  • 自动化测试新范式:OpenClaw驱动千问3.5-9B生成测试报告
  • 高校学生综合素质评价系统数据库设计
  • Geekble测谎模块Arduino库:GSR生理信号采集与多模态反馈