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. 最后,答案与参考链接一起回传给前端,用户即可看到回答并可逐条跳转到原文验证。
相关推荐
__lai2 分钟前
iflow cli一键安装脚本运行了,也正常安装了,但是无法通过iflow命令进入软件。在termux安装iflow-cli AI工具
linux·人工智能·termux
Aspect of twilight4 分钟前
深度学习不同GPU性能比较
人工智能·深度学习
爱笑的眼睛1113 分钟前
超越`cross_val_score`:深入剖析Scikit-learn交叉验证API的设计哲学与高阶实践
java·人工智能·python·ai
火山引擎开发者社区18 分钟前
两大模型发布!豆包大模型日均使用量突破 50 万亿 Tokens
大数据·人工智能
小尘要自信20 分钟前
Bright Data AI Scraper Studio:企业级AI爬虫解决方案,让数据采集更智能
人工智能·爬虫·通过ai自动化爬虫·prompt生产爬虫·云端爬虫平台
丝瓜蛋汤20 分钟前
chunking-free RAG简介
人工智能·深度学习·机器学习
虹科汽车电子27 分钟前
重新定义精密协作:低成本CAN FD如何赋予机器人「指尖智慧」?
人工智能·can总线·机器人灵巧手
王中阳Go41 分钟前
09 Go Eino AI应用开发实战 | Hertz Web 框架搭建
人工智能·后端·go
智驱力人工智能1 小时前
从人海战术到智能巡逻 城市街道违规占道AI识别系统的实践与思考 占道经营检测系统价格 占道经营AI预警系统
人工智能·安全·yolo·目标检测·无人机·边缘计算
STLearner1 小时前
VLDB 2025 | 时间序列(Time Series)论文总结(预测,异常检测,压缩,自动化等)
数据库·人工智能·深度学习·神经网络·机器学习·数据挖掘·时序数据库