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. 最后,答案与参考链接一起回传给前端,用户即可看到回答并可逐条跳转到原文验证。
相关推荐
xinshuGEO几秒前
企业做 AI 搜索优化时,Prompt 问题池应该怎么设计?一种智能体系统实现思路
人工智能·prompt
xcbrand2 分钟前
湖南VI设计公司排名
大数据·人工智能·python
IT_陈寒10 分钟前
Vite热更新失效?可能你在用Windows
前端·人工智能·后端
Matrix_1111 分钟前
手机里的计算摄影:广角形变校正算法
人工智能·算法·智能手机·计算摄影
-山中问答-16 分钟前
【智能体工具使用实战01】当智能体需要“动手”干活
人工智能·智能体·工具调用
大山佬24 分钟前
MCU 资源受限环境的高效系统设计:从内存池到任务调度的极致压缩方案
人工智能
行业研究员24 分钟前
2026腾讯会议语音转写实测推荐
人工智能·腾讯会议·语音转写
道可云26 分钟前
道可云人工智能&OPC每日资讯|工信部发布《“人工智能+信息通信”创新发展实施意见(2026—2028年)》
人工智能
邵宇然34 分钟前
PB 级分布式存储实战:从数据分片到跨区域复制的 Rust 工程实现
人工智能
tedcloud12344 分钟前
taste-skill部署教程:打造个性化AI推荐工作流
服务器·前端·人工智能·系统架构·edge