Dify二开系列:从LightRAG到多模态RAG,全能化进化之路

一、系列回顾:从"能用"到"精准"

前两篇分别讲了Dify的企业级改造和LightRAG知识图谱RAG。

第一篇:Dify二开实战。双层配额管理,防止Token费用失控;账号同步和软删除,解决运维痛点。

第二篇:用LightRAG的知识图谱RAG,准确率从75%提升到90%。

这两个改造上线后,技术文档问答系统运行得挺顺畅。

但新问题又来了。

二、新痛点:LightRAG处理不了复杂文档

上周,产品经理又找我:“你的RAG系统,遇到带表格的PDF就瞎了。”

我一愣。

她给我看了个例子:一篇性能测试报告,里面有张性能对比表:

| 方法 | QPS | P95延迟 | 内存占用 ||------|-----|---------|----------|| 传统RAG | 1200 | 85ms | 2.1GB || 知识图谱RAG | 950 | 120ms | 3.5GB || 混合RAG | 1350 | 95ms | 3.2GB |

用户问:“哪种方法的QPS最高?”

LightRAG回答:“文档中提到了三种RAG方法…”

没有直接回答。

我去查日志。

LightRAG提取到的实体只有"传统RAG"、“知识图谱RAG”、“混合RAG”。

表格里的数据,完全丢了

再试了一个数学公式的例子:一篇机器学习论文,里面有个F1-score的计算公式。

用户问:“F1-score的计算公式是什么?”

LightRAG回答:“F1-score是评估指标,用于衡量模型准确性。”

公式内容,也丢了

我懵了。

LightRAG在纯文本场景表现很好,为啥遇到表格和公式就不行了?

三、问题根源:LightRAG只能处理纯文本

去翻LightRAG的文档,发现了问题。

LightRAG的处理流程:

PDF文档 → 提取文本 → 实体识别 → 关系提取 → 构建知识图谱

关键问题在第一步:提取文本

LightRAG用的是传统的PDF文本提取工具,只能提取纯文本。

遇到表格,提取出来是这样:

方法QPS P95延迟内存占用传统RAG 1200 85ms 2.1GB知识图谱RAG 950 120ms 3.5GB混合RAG 1350 95ms 3.2GB

表格结构全乱了。

遇到公式,提取出来是这样:

F1 = 2 precision recall precision + recall

LaTeX公式变成了纯文本,符号全错了。

这就是纯文本RAG的局限性:无法理解文档的"结构化信息"。

统计数据很扎心

我统计了一下公司内部的文档库:

  • • 技术文档:约500篇,其中85%包含表格
  • • 学术论文:约200篇,其中70%包含数学公式
  • • 年度报告:约100篇,其中95%包含图表

也就是说,纯文本RAG只能处理不到20%的文档。

剩下80%的文档,要么信息丢失,要么准确率很低。

这在企业里没法接受。

四、解决方案:多模态RAG

我开始调研解决方案。

Google了一圈,看到港大在2025年6月推出的RAG-Anything

官方介绍:“All-in-One Multimodal Document Processing RAG”

关键词:Multimodal(多模态)

什么是多模态RAG?

传统RAG:只处理文本。

多模态RAG:同时处理文本、表格、图片、公式

具体来说:

表格:能看懂表格结构,知道每个单元格是什么数据,怎么对应行列。

公式:能认出LaTeX公式,变成能查询的格式。

图片:用GPT-4o这样的Vision模型看图,生成文字描述。

文档里不管是文字、表格、还是公式,都能准确提取和查询。

RAG-Anything的架构

RAG-Anything是港大专门给LightRAG做的多模态扩展,架构如下:

PDF文档 ↓MinerU解析(提取表格、公式、图片) ↓Vision模型处理图片(GPT-4o) ↓LLM模型提取实体(GPT-4o-mini) ↓构建知识图谱(LightRAG) ↓多模态查询

核心组件:

    1. MinerU:上海AI实验室开源的文档解析工具
  • • 表格 → 转HTML格式
  • • 公式 → 转LaTeX格式
  • • 图片 → 提取base64编码
    1. 双模型架构:
  • LLM模型(GPT-4o-mini):处理文本,提取实体,便宜
  • Vision模型(GPT-4o):处理图片,看懂视觉内容,强但贵
    1. LightRAG知识图谱:底层引擎,管实体关系和向量检索

五、实战:集成RAG-Anything到LightRAG

看完文档,我决定试试。

好消息:LightRAG官方在2025.06.16已经支持RAG-Anything集成。

GitHub的README里有明确说明:“RAG-Anything: All-in-One Multimodal RAG”。

Step 1:安装RAG-Anything

pip install raganything

这个包会自动安装依赖:

  • • MinerU(文档解析)
  • • LightRAG(知识图谱RAG)

Step 2:配置双模型

创建配置文件.env:

# LLM模型(用于实体提取,成本低)LLM_MODEL=gpt-4o-miniOPENAI_API_KEY=sk-...# Vision模型(用于图像处理,能力强)VLM_MODEL=gpt-4oVLM_BINDING_API_KEY=sk-... # 可以和LLM用同一个key# Embedding模型(用于向量检索)EMBEDDING_MODEL=text-embedding-3-largeEMBEDDING_DIM=3072# MinerU配置MINERU_PARSE_METHOD=auto # 自动选择最优解析器MINERU_OUTPUT_DIR=./mineru_output

关键配置说明(截至2026年1月):

  • LLM_MODEL=gpt-4o-mini:处理纯文本,每1K tokens约$0.00015,便宜
  • VLM_MODEL=gpt-4o:处理图片,每1K tokens约$0.0025,贵但能力强
  • MINERU_PARSE_METHOD=auto:自动判断文档类型,选最优解析策略

Step 3:初始化RAGAnything实例

核心代码(基于我的实际项目):

from raganything import RAGAnything, RAGAnythingConfigfrom lightrag import LightRAGfrom lightrag.llm.openai import openai_complete_if_cache, openai_embedfrom lightrag.utils import EmbeddingFunc# 1. 创建底层的LightRAG实例rag = LightRAG( working_dir="./rag_storage", workspace="my_kb", llm_model_func=lambda prompt, **kwargs: openai_complete_if_cache( "gpt-4o-mini", prompt, api_key=OPENAI_API_KEY, **kwargs ), embedding_func=EmbeddingFunc( embedding_dim=3072, func=lambda texts: openai_embed( texts, model="text-embedding-3-large", api_key=OPENAI_API_KEY, ), ),)# 2. 创建Vision模型函数(处理图片)async def vision_model_func(prompt, image_data=None, **kwargs): """Vision模型:用GPT-4o处理图片""" if image_data: return await openai_complete_if_cache( "gpt-4o", "", messages=[ { "role": "user", "content": [ {"type": "text", "text": prompt}, { "type": "image_url", "image_url": { "url": f"data:image/jpeg;base64,{image_data}" }, }, ], } ], api_key=OPENAI_API_KEY, **kwargs, ) else: # 无图片时,退化为普通LLM return await openai_complete_if_cache( "gpt-4o-mini", prompt, api_key=OPENAI_API_KEY, **kwargs )# 3. 配置RAGAnythingconfig = RAGAnythingConfig( working_dir="./rag_storage", parser='mineru', # 使用MinerU解析器 parse_method='auto', # 自动选择解析策略 parser_output_dir='./mineru_output', enable_image_processing=True, # 开启图片处理 enable_table_processing=True, # 开启表格处理 enable_equation_processing=True, # 开启公式处理)# 4. 包装为RAGAnythingrag_anything = RAGAnything( lightrag=rag, # 底层LightRAG实例 llm_model_func=rag.llm_model_func, # LLM函数 vision_model_func=vision_model_func, # Vision函数 config=config,)print("RAGAnything初始化成功!")print(f" - 图片处理: {config.enable_image_processing}")print(f" - 表格处理: {config.enable_table_processing}")print(f" - 公式处理: {config.enable_equation_processing}")

代码要点:

LightRAG做底层引擎。

Vision模型单独定义,专门看图,支持base64编码的图片输入。

三大多模态能力全开:图片、表格、公式。

最后包装成RAGAnything,在LightRAG基础上加多模态处理能力。

Step 4:处理带表格/公式的PDF

# 处理文档(MinerU会自动提取表格和公式)await rag_anything.process_document_complete( file_path="performance_report.pdf", output_dir="./output", parse_method="auto")print("文档处理完成!")

处理流程:

MinerU先解析PDF。表格转HTML,公式转LaTeX,图片提取base64编码。

Vision模型(GPT-4o)看图片,理解内容,生成文字描述。比如:“这是一张柱状图,展示了三种RAG方法的QPS对比”。

LLM从文本、表格、公式中提取实体,构建跨模态关系。比如:“传统RAG --[QPS]–> 1200”。

最后构建知识图谱,存入LightRAG的图数据库,生成向量索引。

Step 5:多模态查询

# 查询1:纯文本查询(不带额外数据)result = await rag_anything.aquery( "哪种RAG方法的QPS最高?", mode="hybrid")print(result)# 输出: "根据性能测试报告,混合RAG的QPS最高,达到1350。"# 查询2:多模态查询(带表格数据)result = await rag_anything.aquery_with_multimodal( "对比这个新测试结果和文档中的数据", multimodal_content=[ { "type": "table", "table_data": """方法,QPS,P95延迟 新方法,1500,80ms""", "table_caption": "新测试结果" } ], mode="hybrid")print(result)# 输出: "新方法的QPS(1500)比文档中的混合RAG(1350)高11%,且延迟更低。"# 查询3:公式查询result = await rag_anything.aquery_with_multimodal( "解释这个公式的含义", multimodal_content=[ { "type": "equation", "latex": "F1 = 2 \\cdot \\frac{precision \\cdot recall}{precision + recall}", "equation_caption": "F1-score计算公式" } ], mode="hybrid")print(result)# 输出: "F1-score是precision和recall的调和平均数,用于评估分类模型的综合性能..."

查询方式对比:

查询方式适用场景示例
aquery()纯文本查询“什么是Redis?”
aquery_with_multimodal()带额外数据的查询“对比这个表格和文档”

六、效果对比:纯文本RAG vs 多模态RAG

测试场景

我用公司的技术文档做了测试:

  • 文档数量:50篇技术文档和论文
  • 文档类型:30篇包含表格,20篇包含公式
  • 测试问题:30个(15个表格相关,15个公式相关)
  • 评估标准:准确率(能否正确回答问题)

说明:以下数据基于小规模实际测试,具体效果因知识库内容和查询类型而异。

准确率对比

查询类型LightRAG(纯文本)LightRAG+RAGAnything提升
表格数据查询(15个)约40% (6/15)约93% (14/15)+53%
公式相关查询(15个)约33% (5/15)约87% (13/15)+54%
整体准确率(30个)约37% (11/30)约90% (27/30)+53%

关键发现:

纯文本LightRAG在表格和公式场景准确率不到40%。

集成RAGAnything后,准确率提升到90%左右。

提升幅度超过50%

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1119235.shtml

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

相关文章

基于Vue的民俗文化管理系统设计与达成04j02(程序 + 源码 + 数据库 + 调试部署 + 制作环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

保姆级教程:Spring AI RAG知识库构建,让你的AI助手“满腹经纶“!

当用户提问:“有哪些优惠券?” 。 RAG 工程会去查询本地向量数据库中的相关数据,然后将这部分数据 用户问题,一起发送给大模型进行处理。 先来看一下效果,如图 加载数据文件到向量数据库中 手动查询向量数据库实现 R…

【热评】“LLM是死路“!Meta前AI首席杨立昆创业新方向,AI程序员必看的技术革命

杨立昆批评 Meta 内部对研究的管理思维,特别指出管理者不应干涉研究者的工作。 关键点一: 杨立昆批评汪滔「缺乏研究经验」,并强调「不应命令研究者该做什么」,指出管理思维与科研文化的落差加深了内部张力。 关键点二&#xff…

上海留学中介榜单:口碑好之选,助力留学之路稳妥前行 - 留学机构评审官

上海留学中介榜单:口碑好之选,助力留学之路稳妥前行一、上海留学中介如何选择?高录取率机构有哪些?当时间来到2026年1月5日,又一批学生开始为未来的留学之路筹划。作为从业十年的上海地区国际教育规划师,我常被学…

震惊!Google数据护城河被AI攻破?大模型开发者必看:AI Agent如何颠覆传统搜索,规模速度极限挑战

本文聚焦Google数据护城河与AI Agent的突破性发展,探讨AI如何打破传统搜索边界。DataFun联合Bright Data将于1月7日举办直播,深入分析AI Agent三大特征及其在规模与速度方面的极限挑战,揭示大模型技术如何重塑信息获取方式,为开发…

别再被“虚假快“迷惑!7个指标教你判断大模型服务真实性能,小白也能秒懂的AI开发干货!

下面这组指标,基本构成了我现在判断一个 LLM 服务是否有较好体验的核心视角。 也可以参考下面这个图: 一、TTFT(Time To First Token)首字时间 TTFT 指的是: 从客户端发出请求,到收到第一个 token的时间…

上海留学中介实锤榜!录取率高,助学子申请海外名校 - 留学机构评审官

上海留学中介实锤榜!录取率高,助学子申请海外名校一、如何在上海选择留学中介?许多上海学生和家长在规划留学时,常常会问:“上海本地的留学中介哪家更值得信赖?如何根据自身情况选择?” 作为一个在国际教育规划…

spring事务面试

spring的事务传播行为是指在一个事务性的环境中,一个事务方法被另一个事务方法调用时,明确这两个方法之间的事务应该如何交互和控制。 这里涉及到事务的边界 隔离性 以及如何确保数据一致性的问题。 由于事务嵌套本身…

maven安装jar报异常

maven安装jar报异常今天遇到安装maven包的异常问题: 以下是执行语句mvn install:install-file -Dfile=D:\repository\repository\aspose\aspose-cells\9.0.0\aspose-cells-9.0.0.jar -DgroupId=com.aspose -Dartifact…

Java并发包中的PriorityBlockingQueue解析

PriorityBlockingQueue<E> 是 Java 并发包&#xff08;java.util.concurrent&#xff09;中提供的一个线程安全的、无界、优先级队列。它的核心思想是&#xff1a;每次取出的元素&#xff0c;都是当前队列中“优先级最高”的那个元素&#xff08;即最小值&#xff0c;依据…

开题报告 “卡壳” VS “开挂”?虎贲等考 AI 让学术起点赢在合规

学术研究的第一步&#xff0c;往往卡在开题报告&#xff1a;选题要么 “大到无从下手”&#xff0c;要么 “小到无研究价值”&#xff1b;文献综述堆砌资料却无逻辑&#xff0c;技术路线图混乱到导师看不懂&#xff1b;格式反复修改仍不达标&#xff0c;查重风险如影随形。而虎…

AI 技术在CRM 系统中的应用

AI 技术已经从 CRM 系统&#xff08;客户关系管理&#xff09;的“插件”进化为了其核心引擎。现代 CRM 不再只是一个存储客户资料的静态数据库&#xff0c;而是一个能够主动思考、预测并执行任务的“智能助手”。以下是 AI 技术在CRM 系统中的核心应用场景&#xff1a;1. 销售…

学长亲荐MBA必看TOP8AI论文平台测评

学长亲荐MBA必看TOP8AI论文平台测评 学术AI工具测评&#xff1a;为何需要一份精准指南 在MBA学习与研究过程中&#xff0c;论文写作是一项核心任务&#xff0c;而随着AI技术的普及&#xff0c;各类学术辅助工具层出不穷。然而&#xff0c;面对众多选择&#xff0c;如何快速找到…

51405098-100 逻辑控制器模块

HONEYWELL 51405098-100 逻辑控制器模块概述该模块属于 Honeywell 的工业自动化控制器系列&#xff0c;用于对复杂的控制逻辑进行集中处理和管理。它通过逻辑运算和程序执行来控制生产或工业流程中的各类设备。主要功能逻辑控制&#xff1a;支持基本的 AND、OR、NOT 等逻辑运算…

2026年知名的智慧农业四情监测,农业四情监测管理系统,农业四情监测站厂家选购参考名录 - 品牌鉴赏师

引言在 2026 年,智慧农业四情监测、农业四情监测管理系统以及农业四情监测站在农业现代化进程中愈发重要,其市场规模不断扩大,众多厂家纷纷涌入该领域。为了给广大农业从业者、相关企业以及投资者在选购合适的农业四…

AI 写论文哪个软件最好?深挖内核:虎贲等考 AI 凭 “学术三重门” 碾压同类

毕业季 AI 论文工具乱象丛生&#xff0c;有的主打 “快速生成” 却牺牲专业度&#xff0c;有的宣称 “全流程覆盖” 却功能碎片化。到底 AI 写论文哪个软件最好&#xff1f;抛开表面宣传&#xff0c;我们从学术核心需求出发&#xff0c;深度拆解虎贲等考 AI&#xff08;官网&am…

AI 写论文哪个软件最好?实测认证!虎贲等考 AI 凭 “学术闭环” 成终极答案

毕业季的论文创作&#xff0c;一半是研究本身的深耕&#xff0c;一半是工具选择的博弈 —— 有的 AI 软件只懂文字拼接&#xff0c;文献引用虚假&#xff1b;有的侧重格式排版&#xff0c;却缺乏实证支撑&#xff1b;还有的 AI 痕迹浓重&#xff0c;查重易触发预警。到底哪款 A…

2025年值得信赖的汽车托运物流公司TOP榜出炉!成都汽车托运物流精选优质品牌助力工程采购 - 品牌推荐师

随着汽车消费市场的持续活跃与跨区域流动的日益频繁,汽车托运物流行业正迎来新一轮的发展机遇。面对市场上众多的服务商,消费者如何选择一家安全、高效、透明的托运公司,成为普遍关注的焦点。基于对市场公开数据、用…

Go sync包并发原语详解

前言 Go的goroutine和channel解决了大部分并发问题&#xff0c;但有些场景下&#xff0c;sync包提供的原语更简洁高效。比如保护共享变量、等待一组goroutine完成、确保初始化只执行一次等。 本文整理sync包中常用类型的使用方法和注意事项&#xff0c;配合实际代码示例。1. Mu…

虎贲等考 AI:重新定义学术创作,全流程智能辅助工具

在学术探索的道路上&#xff0c;论文写作往往伴随着选题迷茫、文献繁杂、数据缺失、格式混乱等诸多难题。虎贲等考 AI 智能写作平台&#xff08;官网&#xff1a;https://www.aihbdk.com/&#xff09;应势而生&#xff0c;作为一款基于前沿人工智能技术打造的专业论文写作辅助工…