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. 最后,答案与参考链接一起回传给前端,用户即可看到回答并可逐条跳转到原文验证。
相关推荐
NAGNIP11 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab12 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab12 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP16 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年16 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼16 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS16 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区17 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈17 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang18 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx