
【AI落地应用实战】RAGFlow + 知识图谱 + Deepseek 初步探索
用RAG搭建过知识库就知道,在使用RAG搭建知识库的时候,整个索引、检索是基于文本块的,当有请求过来的时候,RAG首先根据请求去寻找哪些文本块是最相关、最匹配的,再把找到的文本块作为参考资料,连同请求一起给到大模型。知识结构的空心化人类专家的知识体系是立体建构的,既有学科主干脉络,又能自由调用跨领域知识节点。而LLM的知识表征更接近平面化的概率分布,当处理需要深度领域知识交叉的问题时,容易暴露概念
人们对 LLM + RAG 的期望其实是很高的,认为它可能会颠覆知识产业。
从逻辑上讲,这么想是有些道理的,LLM已经吃进去了互联网上所有的公开数据,而RAG机制则构建了动态的知识增强回路,相当于学到了数据里面所表示的知识,自然可以解答信息或知识层面的「任何」问题,理论上似乎是确实能端到端地做掉的。
但是从另一方面来说,知识的运用远非简单的数据检索游戏。
如果只是把一堆文件扔给学生,而不教给他们如何理解和分析,他们真的能找到问题的答案吗?
一、写在前面
1.1、传统RAG为什么表现不尽如意?
用RAG搭建过知识库就知道,在使用RAG搭建知识库的时候,整个索引、检索是基于文本块的,当有请求过来的时候,RAG首先根据请求去寻找哪些文本块是最相关、最匹配的,再把找到的文本块作为参考资料,连同请求一起给到大模型。
这种流程是极度依赖于基于相似度的向量检索技术,存在几个核心问题:
-
知识结构的空心化:人类专家的知识体系是立体建构的,既有学科主干脉络,又能自由调用跨领域知识节点。而LLM的知识表征更接近平面化的概率分布,当处理需要深度领域知识交叉的问题时,容易暴露概念关联的脆弱性。举个例子,用户询问“哪些药物可以治疗高血压?”,而知识库中有一段描述“β受体阻滞剂可以降低心率,从而减轻心脏负担”。尽管这段文本与高血压治疗相关,但由于未明确提及“高血压”,传统RAG可能根本无法将其纳入检索结果。
-
逻辑推理链条的断裂:LLM都是通过概率建模习得知识的表层特征,在面对需多步推演的任务(比如桥梁设计需同步整合地质勘探报告、荷载计算模型与环保法规等等流程)时,模型容易陷入"知识拼贴"的陷阱,很多时候,其更像博闻强记的策展人,而非真正意义上的思考者。
-
TopK截断问题:在检索过程中,系统通常只保留相似度最高的TopK个文档片段。而对于全局性问题往往涉及到非常多的上下文文档,这种截断策略可能导致与查询相关但相似度较低的文档被忽略,生成答案时遗漏重要内容。
对应以上核心技术问题就会导致两个很普遍的现象:
-
缺少事情之间关系的理解:当需要关联不同信息以提供综合见解时,传统 RAG 很难将这些点连接起来。
-
缺乏整体视角:当要求 RAG 全面理解大型知识库甚至单个大型文档的整体语义概念时,缺乏宏观视角。
1.2、为什么要在RAG中引入知识图谱?
知识图谱是对现实世界实体及其关系的结构化表示。它们由两个主要部分组成:节点和边。节点表示独立的实体,例如人物、地点、物体或概念。而边则表示节点之间的关系,表示它们如何相互关联。
这种结构使 LLM 能够访问精确且与上下文相关的的数据,从而极大地提高了其生成信息丰富答案的能力,其核心优势在于:
-
捕捉复杂关系:知识图谱能够表示实体间的多层次、多类型关系。例如,在医疗领域,知识图谱可以表示“药物-疾病-症状”之间的复杂关联。
-
支持语义推理:基于图结构的遍历和推理能力,知识图谱能够回答涉及多跳关系(Multi-hop Reasoning)的复杂查询。例如在电影领域,知识图谱可以表示“演员-电影-导演”之间的关系。当用户查询“汤姆·克鲁斯主演的科幻电影有哪些?”时,系统可以通过图谱快速找到相关电影,如《碟中谍》系列。
将知识图谱(KG)引入 RAG 体系,就像为 AI 构建了一张清晰的“知识地图”。知识图谱能够表达实体之间的复杂关系,例如父子关系、朋友关系、因果关系等等,从而让 AI 不仅能够“查到”信息,更能够“理解”信息之间的逻辑,给出更准确、更智能的答案。从依赖自身到检索外部信息,再到利用知识图谱进行深度理解。
1.3、图谱+RAG需要考虑和关注的点
-
构建知识图谱:构建图谱是一项非常耗时的工作,通常需要人工完成。目前有方案通过大型模型来构建图谱,通过提示词和文本,让大模型提取文本中的实体和关系,构建三元素,但基于LLM来建图,会引入非常多的噪声。如何在充分利用LLM知识的基础上,在人为可控的方式下建图?也是非常重要的一个问题。
-
内容去重过滤:合并后的信息可能包含重复内容,比如“特朗普、川普、Trump、唐纳德·特朗普”都是一个人,通常需要对合并后的内容进行过滤。
-
建模的合理性:图模型能够直观地表示实体之间的复杂关系,但不代表图这种方式就能对现实世界的信息进行全面的建模。对于一些特殊类型的数据,如历史数据、时间序列数据,仍然面临挑战。
-
图谱的规模:知识图谱到底能支持多大规模,还是未经验证的问题。它能应用到开放域,还是只能够用于特定领域?另一方面,随着数据规模的增大,建图的成本也会急剧上升。
-
适合的应用场景:通常来说,具备如下特征的数据和场景更适合使用图谱+RAG。 第一类是有较多相互关联实体与复杂关系,且结构较明确的数据。比如:
人物关系网络数据:社交网络中的用户关系、历史人物关系、家族图谱等。
企业级关系数据:公司结构、供应链、客户等之间的关系。
医学类数据:疾病、症状、治疗、药物、传播、病例等之间复杂关系。
法律法规数据:法律条款之间的引用关系、解释、判例与适用法律条
推荐系统数据:产品、用户、浏览内容、产品之间的关联、用户之间的关系等。
第二类是涉及复杂关系、语义推理和多步逻辑关联的查询,比如:
多跳关系查询:在华东区所有的门店中,哪个导购的消费者客单价最高?
知识推理查询:根据患者的症状和病史,推断可能的疾病并提供治疗方案。
聚合统计查询:在《三国演义》中,出场次数最多的人是谁?
时序关联查询:过去一年都有哪些AI大模型的投资与并购事件?
跨多文档查询:在《三体3》中,有哪些人物在《三体1》中出现?
二、RAGFlow + GraphRAG+ 知识图谱 + Deepseek 初步探索实践
RAGFlow的V0.16.0版本以后对内置的GraphRAG做了重构,并且目前支持轻量级别的LightRAG和GraphRAG两种框架。
GraphRAG利用图结构增强上下文关联性,适用于医疗、法律等复杂领域,LightRAG则强调轻量化和高效,能够显著降低延迟和计算成本。这里做一个实践记录与分享,实践略过了RAGFlow在window或者linux的安装步骤,需要的话可以留言,后面可以补充再出一篇安装教程。
2.1、配置模型供应商
RAGFlow 支持大多数主流 LLM平台,还支持使用 Ollama、Xinference 或 LocalAI 在本地部署 LLM,这里首先要添加并配置 LLM,点击页面右上角的徽标> 模特提供商:每个 RAGFlow 帐户都可以免费使用通义千问的嵌入模型text-embedding-v2,这里单击你所拥有的 LLM平台并相应地更新 API 密钥,deepseek也有:
如果是采用本地部署的模型的话,可以找到Ollama,配置对应的embedding和chat模型,Ollama的基础URL为:
http://host.docker.internal:11434
配置好后的模型列表,可以从“添加了的模型”这里看到:配置好后,打开系统模型设置,其中img2txt模型就是OCR模型:
2.2、配置知识库
正确配置知识库对于 AI 智能助手至关重要,选择错误的嵌入模型或块方法很容易导致聊天中出现意外的语义丢失或答案不匹配。在知识库配置中,RAGFlow 通过嵌入模型、解析方法、页面排名、自动关键词、自动问题、召回增强及 RAPTOR 策略等技术,提升检索和生成效果,其中:
-
嵌入模型:将文本转换为向量,捕捉语义信息,常用于文本相似度计算和检索。RAGFlow 使用嵌入模型将文档和查询转换为向量,以便在向量空间中进行相似度匹配。
-
解析方法:RAGFlow 提供多种分块模板,方便对不同布局的文件进行分块。通过不同的解析方法,其可以将原始文本(如 PDF、HTML)转换为结构化数据,便于后续处理。
-
页面排名:页面排名用于评估文档或段落的重要性,帮助系统优先检索更相关的内容,优先返回高质量信息。
-
自动关键词:用于在查询此类关键词时,为每个块提取 N 个关键词以提高其排名得分。
-
自动问题:自动问题生成从文本中生成相关问题,用于增强检索和生成。
-
使用召回增强RAPTOR策略:结合召回增强和任务导向的排序,优化检索结果。RAGFlow 可能通过动态调整检索范围或重新排序,确保生成模型获得最相关的信息。
2.3、配置知识图谱方法
往下翻到知识图谱部分,打开提取知识图谱,实体类型可以就选默认的,然后方法选择General,然后打开实体归一化和社区报告生成,其中,实体类型是知识图谱的重要组成部分。常见的实体类型包括:
-
Organization(组织):如公司、机构、政府等。例如,“阿里巴巴”、“联合国”。
-
Person(人物):如历史人物、名人、科学家等。例如,“马云”、“爱因斯坦”。
-
Geo(地理):如国家、城市、地区等。例如,“中国”、“北京”。
-
Event(事件):如历史事件、会议、比赛等。例如,“第二次世界大战”、“奥运会”。
-
Category(类别):如产品、技术、学科等。例如,“人工智能”、“量子力学”。
**实体归一化是指将不同表达方式的实体统一为标准形式。例如,“马云”可能在不同的文本中被表达为“Jack Ma”、“阿里巴巴创始人”等。**实体归一化的目的是确保知识图谱中的实体具有唯一性和一致性,包括:
-
同义词处理:将不同表达方式的实体映射到同一个标准实体。例如,“Jack Ma”和“马云”都映射到“马云”。
-
消歧:处理同名实体的歧义问题。例如,“苹果”可能指“苹果公司”或“水果”,需要通过上下文进行消歧。社区报告生成是 RAGFlow 中的一个重要功能,在这一步,区块被聚集成层次化的社区,实体和关系通过更高抽象层次将每个部分连接起来,它通过分析知识图谱中的实体和关系,生成结构化的报告。具体步骤包括:通过图算法(如 Louvain 算法)发现知识图谱中的社区结构。社区是指一组紧密相连的实体,例如“科技公司社区”可能包括“阿里巴巴”、“腾讯”、“百度”等。
2.4、建立知识图谱
配置完数据库后,上传一条文件,然后点击开始解析:解析完后点击刷新,左侧会出现知识图谱菜单,点击进入查看建立好的知识图谱,其中每个深色的圆圈代表一个实体,实体之间的连线代表实体之间存在的关系。
外围淡色的圆圈代表实体组成的社区:
2.5、基于图谱+RAG的实践效果测试
这里先来试一下检索,这是没有打开知识图谱的检索结果:
这是打开了知识图谱的检索结果:
然后,再测试一下,这个是没有带知识图谱的回答效果:
这个是带知识图谱的回答效果:
如何学习大模型 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%免费
】
更多推荐
所有评论(0)