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

RAG流程全解析:从数据到精准答案

Rag流程分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


第一部分:数据处理与向量化

  1. 原始文档进入系统,先经过格式识别,把 pdf、docx、pptx、扫描图片等统一转成文字流。
  2. 文字流丢进分段器,按固定长度或语义边界切成若干文本块,每个块再生成唯一 id。
  3. 如果文档里有表格或图片,表格转成 markdown 表格文本,图片用 OCR 提文字后也并入相邻文本块。
  4. 每个文本块先过一遍实体抽取,抽到人名、地名、产品名,再把这些实体写进一张实体表备用。
  5. 同一块文本再交给嵌入模型,模型输出一串浮点数,这串数就是该块的向量。
  6. 向量被写到向量数据库,数据库里一条记录包含:块 id、原始文本、向量、实体列表、文件来源、页码。
  7. 实体表里的实体被写进图数据库,形成“实体-关系-实体”三元组,便于以后做图检索。
  8. 全文搜索引擎也同步建索引,把每个块的纯文本做成倒排索引,支持关键字快速查找。
  9. 当所有文档都完成 1-8 步,系统就得到一个“可检索知识库”,包含向量库、实体图、全文索引三份数据。
  10. 以后新文档进来,只要重复 1-9 步即可增量更新,不需要重建全部索引。

第二部分:提问向量化然后返回结果

  1. 用户在前端输入自然语言问题,问题文本先进入查询理解模块。
  2. 查询理解模块用轻量模型判断问题意图,再把问题里的时间、地点、实体都抽取出来。
  3. 抽取后的结构化信息与原始问题一起被送入同型号的嵌入模型,生成问题的向量。
  4. 系统把问题向量发到向量数据库做近似最近邻搜索,召回最相似的 k 个文本块。
  5. 同时,系统用抽取到的实体去图数据库做一跳或多跳查询,拿到与这些实体直接相关的文档 id 列表。
  6. 全文搜索引擎也用扩展后的关键词做 BM25 搜索,召回另一批候选文档 id。
  7. 三路召回结果合并后,用交叉编码器重排模型给每条候选重新打分,保留分数最高的前 n 条文本块。
  8. 这些文本块按出现顺序拼接成一段上下文,上下文长度超过大模型窗口时就按相关性截断。
  9. 系统把上下文与原始问题一起塞进 prompt 模板,模板里明确要求大模型在回答中给出引用标记。
  10. 大模型生成答案文本,系统再解析答案里的引用标记,回链到原文位置,生成可点击的参考链接。
  11. 最后,答案与参考链接一起回传给前端,用户即可看到回答并可逐条跳转到原文验证。
http://www.lryc.cn/news/627168.html

相关文章:

  • FreeCAD教程-利用额外的平面和草图工作台的外部几何工具连接不同草图
  • C/C++ 与嵌入式岗位常见笔试题详解
  • DataFrame中.iloc 属性
  • 动态规划----8.乘积最大子数组
  • Docker操作速查表
  • 海量数据测试指南与实战
  • Advanced Math Math Analysis |01 Limits, Continuous
  • C++/Qt开发:TCP通信连接软件测试方法:ECHO指令
  • PyTorch API 5
  • CorrectNav——基于VLM构建带“自我纠正飞轮”的VLN:通过「视觉输入和语言指令」预测导航动作,且从动作和感知层面生成自我修正数据
  • CoreShop微信小程序商城框架开启多租户-添加一个WPF客户端以便进行本地操作(5)
  • 当 AI 开始 “理解” 情绪:情感计算如何重塑人机交互的边界
  • 基于单片机环境火灾安全检测
  • NVIDIA Isaac Sim
  • 48 C++ STL模板库17-容器9-关联容器-映射(map)多重映射(multimap)
  • VR交通安全学习机-VR交通普法体验馆方案
  • 2026 济南淀粉深加工展览会亮点:玉米科技与未来产业发展
  • IPSEC安全基础
  • C++智能指针详解:告别内存泄漏,拥抱安全高效
  • 【科研绘图系列】R语言绘制平滑曲线折线图
  • AI重塑软件测试:质量保障的下一站
  • MySQL分库分表与MyCAT
  • PiscCode集成Hand Landmarker:实现高精度手部姿态检测与分析
  • C语言:第18天笔记
  • Google Chrome扩展不受信任 - 不受支持的清单版本 解决方案 -- Chrome扩展插件无法加载 扩展程序无法使用 解决方案
  • PiscCode使用MediaPipe Face Landmarker实现实时人脸特征点检测
  • vue3 el-select 默认选中第一个
  • 基础笔记8.20
  • 8.20网络编程——sqlite3数据库
  • lua入门以及在Redis中的应用