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.pswp.cn/bicheng/94006.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matplotlib数据可视化实战:Matplotlib图表注释与美化入门

图表注释与标签:提升数据可视化效果 学习目标 通过本课程的学习,学员将掌握如何使用Matplotlib在图表中添加文本注释、图例、标题和轴标签,从而提高图表的可读性和信息传达能力。本课程将通过实际案例,帮助学员理解每个元素的作用…

GitLab 安全漏洞 CVE-2025-7739 解决方案

本分分享极狐GitLab 补丁版本 18.2.2, 18.1.4, 18.0.6 的详细内容。这几个版本包含重要的缺陷和安全修复代码,我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS,技术团队已经进行了升级,无需用户采取任何…

C端高并发项目都有哪些

C端(用户端)高并发项目通常涉及大规模用户直接访问的服务,其核心挑战是如何在海量用户同时请求下,保证系统的稳定性、高性能、高可用和一致性。以下是一些典型的C端高并发项目类型和具体案例:​核心类型与典型案例&…

OSCP - Proving Grounds - Shenzi

主要知识点 路径爆破小技巧 windows AlwaysInstallElevated 提权 具体步骤 依旧是nmap开始,其中80/443/139/445端口值得关注一下 Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-01 15:06 UTC Nmap scan report for 192.168.53.55 Host is up (0.0008…

结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))

技术手段: BI工具(finereport )、python、sql 数据更新: 每日零点更新数据。(独立开发) 商业智能分析平台 | Python/FineReport/SQLAlchemy 项目描述 业务价值 :解决原有系统无法快速定位佣金异…

计算机毕设Spark项目实战:基于大数据技术的就业数据分析系统Django+Vue开发指南

🎓 作者:计算机毕设小月哥 | 软件开发专家 🖥️ 简介:8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 🛠️ 专业服务 🛠️ 需求定制化开发源码提…

如何让FastAPI任务系统在失败时自动告警并自我修复?

url: /posts/2f104637ecc916e906c002fa79ab8c80/ title: 如何让FastAPI任务系统在失败时自动告警并自我修复? date: 2025-08-20T08:18:42+08:00 lastmod: 2025-08-20T08:18:42+08:00 author: cmdragon summary: FastAPI 和 Celery 结合提供了强大的异步任务处理能力,但在分布…

Gitee仓库 日常操作详细步骤

新建仓库 → 上传代码 步骤1、打开Gitee仓库网站:开源软件 - Gitee.com 步骤2、点击右上角加号 点击新建仓库。 步骤3、设置仓库名 ,选择是否开源 ,点击创建。 步骤4、记住远程仓库URL 步骤5、本地新建文件夹,然后进行上传代码…

Python采集易贝(eBay)商品详情API接口,json数据返回

Python采集易贝(eBay)商品详情API接口要采集eBay商品详情,你可以使用eBay官方提供的API。以下是使用Python通过eBay Finding API获取商品详情的完整示例:准备工作注册账号并获取API密钥:选择适合的API(如Finding API、Shopping AP…

如何将任意文件一键转为PDF?

无论你用什么软件打开文件(Word、Excel、网页、CAD图纸、图片等),只要能打印,就可以通过虚拟打印机将其转为PDF,确保对方收到的文件看起来和你看到的一模一样。它是小巧实用的PDF虚拟打印工具,采用安装包形…

迁移学习+多模态融合破解跨域难题,解锁视觉感知新范式

在近期的顶会顶刊中,迁移学习与多模态融合的热度居高不下,相关成果频出,部分模型在特定任务里性能提升极为显著。登上顶刊 TPAMI 2025 的某篇研究,借助语言引导的关系迁移,大幅提升了少样本类增量学习中模型的泛化能力…

C语言---分隔符、常量、注释、标识符、关键字、空格

文章目录分隔符注释注意标识符标识符的定义标识符的命名要求合法与非法标识符示例关键字关键字定义关键字一览(按功能分类)空格一、空格的作用:分隔令牌 (Tokens)空格的使用场景必须用空格分隔的情况不能有空格的情况分隔符 分隔符名称主要用途;分号语句结束符,逗号…

创建Vue项目的不同方式及项目规范化配置

1 项目的创建与运行 1.1 基于webpack构建工具——vue-cli脚手架 1. 安装脚手架 :npm i -g vue/cli # 安装一次即可,之前安装过则无需重复安装 2. 切换到项目所在目录 :cd 项目所在目录 3. 创建项目 :vue create 项目名 4. 自定…

K距离间隔重排字符串 (LeetCode 358) — Swift解法 + 可运行Demo

文章目录摘要描述解决方法分析问题和解决代码代码要点详解示例测试和结果时间复杂度空间复杂度总结摘要 这道题的核心是:把字符串里的字符重新排一下顺序,让相同字符之间至少隔开 k 个位置。如果做不到,就返回空串。看上去像“排座位”&…

React native Navigation 详解

Tab Navigator(标签导航器) 概念 Tab Navigator 是 React Navigation 中用于创建底部或顶部标签栏导航的组件。它允许用户在不同的屏幕之间快速切换,每个标签对应一个独立的屏幕。 基本用法 import {createBottomTabNavigator } from @react-navigation/bottom-tabs; im…

[GraphRAG]完全自动化处理任何文档为向量知识图谱:AbutionGraph如何让知识自动“活”起来?

在当今信息爆炸的时代,企业和研究人员面对大量非结构化文档时,如何高效地提取、存储和查询其中的知识,已成为一个核心挑战。传统的关键词检索早已无法满足深层次语义关联和智能问答的需求。 每天面对成百上千份PDF论文、Excel报告、行业白皮…

模拟tomcat接收GET、POST请求

访问: http://localhost:10086/mytomcatMyTomcat/ └── src/└── com/└── zhang/├── MyServer.java├── MyRequest.java├── MyResponse.java├── MyMapping.java├── MyServlet.java└── MyHttpServlet.java核心类功能说明 MyServer.java 服务…

氯化钇:科技与高性能材料的核心元素

氯化钇是钇元素的氯化物,广泛应用于高性能材料、催化剂、光电技术等领域。作为稀土元素之一,钇因其独特的物理和化学特性,在现代工业中具有重要地位,而氯化钇则是其中的关键化合物之一。氯化钇的优势与特点1. 化学稳定性强氯化钇具…

【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析

😘个人主页:Cx330❀ 👀个人简介:一个正在努力奋斗逆天改命的二本觉悟生 📖个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》 前言:今天这篇博客就给大家将一个计数排序,然乎就…

Incredibuild 新增 Unity 支持:击破构建时间过长的痛点

任何开发过复杂 Unity 项目的团队都会告诉你:构建速度已成为生产流程中的核心痛点。Unity 灵活且强大,但随着项目规模扩大(尤其是包含 3D 资源、复杂着色器和庞大内容管线的项目),构建过程会逐渐变成一项隐性成本。 多…