GraphRAG + DeepSearch: 下一代企业级人机协同大模型推理架构及医药法律等领域Agent深度详解

GraphRAG:一种新型的RAG技术 微软前几天发布的 GraphRAG 架构非常厉害,但是具体的原理和内容可能不太好理解。Neo4j 的 CTO 写了一篇详细的文章《GraphRAG 宣言:为 GenAI 增加知识》,通俗易懂的介绍了 GraphRAG 的原理、与传统 RAG 的区别、GraphRAG的优势、知识图谱的创建和利用知识图谱工作。 阅读详情

深度图谱检索增强生成(GraphRAG)系统正在推动专业问答、知识管理与自动化研究的边界。本文全面介绍了GraphRAG + DeepSearch系统的核心架构、技术细节和关键实现,并通过图文并茂的方式深入剖析其多智能体、知识图谱、搜索与推理体系,以及工程化的数据流和界面实现,助力专业人士全方位理解和落地先进的知识驱动问答平台。

https://deepwiki.com/1517005260/graph-rag-agent

https://github.com/1517005260/graph-rag-agent

img

一、系统综述与核心价值

GraphRAG + DeepSearch系统是一款以知识图谱为增强的智能问答平台。它融合了基于图谱的检索增强生成(GraphRAG)与多步深度推理能力,核心理念在于结合传统向量RAG与结构化知识图谱,实现链式探索推理,最终输出可解释、上下文相关且可溯源的专业答案。系统实现了多智能体高效协同,基于Neo4j图数据库与向量检索,为复杂问题解答赋能全新模式。

图片

img

创新点概述

  • 全栈GraphRAG平台

    自底向上实现GraphRAG功能,集成知识图谱构建、社区检测与多智能体协同

  • 多步深度推理

    以证据链追踪、矛盾检测等方式支撑复杂问答

  • 智能体体系

    针对不同查询复杂度动态分派专用Agent

    img

  • 增量式知识管理

    文件变更检测与自动+人工冲突处理

  • 思考过程可视化、解释性AI

    完整推理流程与证据可视化追踪


二、系统能力与技术特性

核心能力矩阵

能力类别实现方式关键组件文件
知识图谱构建基于LLM实体/关系抽取graph/extraction/、build/build_graph.py
多智能体编排5种专用智能体(见下表)agent/agent_coordinator.py,agent/*.py
检索策略本地、全局、混合、深度研究检索search/local_search.py,search/global_search.py
社区检测Leiden & SLLPA双算法community/detector/,build/build_index_and_community.py
增量式更新文件变动检测+冲突处理build/incremental_update.py
评测体系20+多维度指标evaluator/core/,evaluator/metrics/
缓存系统多级缓存+策略模式CacheManage/manager.py,CacheManage/strategies/
文档处理支持多格式(TXT、PDF、DOCX等)processor/file_reader.py,processor/text_chunker.py

核心技术亮点

  • 原生GraphRAG全栈实现

    :从零实现,无外部依赖。

  • Neo4j集成

    :天然的知识图谱管理和社区感知检索

  • 探索链推理

    :知识空间图遍历推理与追踪

  • 证据路径可视化

    :数据来源与推理轨迹直观呈现

  • 流式响应

    :实时增量生成答案,提升交互体验

  • 调试模式

    :执行追踪与图谱可视化助力开发与排障


三、高阶架构图与系统流程

整体系统架构图

img

  • 展现层

    :基于Streamlit的前端,含聊天界面、调试面板KG可视化

  • API层

    :FastAPI服务,提供RESTful接口对接前端与外部

  • 业务逻辑层

    :多智能体调度与核心功能实现

  • 检索与推理层

    :搜索与推理工具,支持丰富检索策略

  • 数据层

    :Neo4j知识图谱、向量存储、缓存体系

  • 处理管线

    :文档预处理、实体/关系抽取与图谱增量构建


四、核心组件与代码结构详解

智能体生态体系(Agent Ecosystem)

智能体名称实现文件核心方法检索策略典型应用场景
NaiveRagAgentagent/naive_rag_agent.pychat()仅向量相似度检索简单事实型问答
GraphAgentagent/graph_agent.pychat()本地+全局图谱检索关系型问答
HybridAgentagent/hybrid_agent.pychat()双层关键词提取检索多概念综合查询
DeepResearchAgentagent/deep_research_agent.pychat()多步推理链复杂分析型问题
FusionGraphRAGAgentagent/fusion_agent.pychat()多智能体协同推理研究级复杂查询

【表2】各类智能体矩阵


五、搜索与推理架构

主要搜索工具与推理组件

工具/类名称文件路径简要功能描述
LocalSearchToolsearch/local_search.py基于社区的本地向量相似度检索
GlobalSearchToolsearch/global_search.py全局社区摘要MapReduce式检索
NaiveSearchToolsearch/tool/naive_search_tool.py简单向量检索
DeepResearchToolsearch/tool/deep_research_tool.py多步推理的深度研究检索
HybridSearchToolsearch/tool/hybrid_search_tool.py双层实体与概念关键词混合检索
ThinkingEnginesearch/tool/reasoning/thinking_engine.py推理链引擎
EvidenceChainTrackersearch/tool/reasoning/evidence_chain_tracker.py证据链追踪
ContradictionDetectorsearch/tool/reasoning/contradiction_detector.py矛盾检测

【功能组件关系图,可示意Agent、SearchTool与图谱存储的分层关联】

img


检索策略实现

  • 本地检索

    :基于分区社区的向量相似度搜索

  • 全局检索

    :社群摘要聚合+全局过滤(Map-Reduce思想)

  • 深度研究

    :推理链驱动的多步遍历与探索

    img

  • 混合检索

    :实体与概念相结合的双层关键词方案


六、知识图谱构建全流程

知识抽取与增量图谱

  1. 文档处理

    • 支持多格式:TXT、PDF、DOCX、DOC、CSV、JSON、YAML

    • FileReader.read_file()一站式读取

      img

  2. 实体/关系自动抽取

    • EntityRelationExtractor.extract()通过LLM识别实体与关系
  3. 社区检测

    • Leiden与SLLPA双算法检测知识社区结构
    • CommunityDetector.detect()
  4. 增量式知识管理与冲突处理

    • 增量构建与冲突解决逻辑
    • IncrementalBuilder.build()、ConflictResolver类

【此处应插入“知识抽取->社区检测->图谱增量构建”的流程示意图】


七、查询数据流与接口工作流

查询处理核心流程

  1. 用户

    提交查询(聊天界面/接口)

  2. API统一网关(FastAPI)

    处理POST请求 /api/chat 或 /api/chat/stream

  3. 缓存层

    优先检查历史答案

    • 命中则直接返回
    • 未命中则进入智能体推理
  4. 智能体选择

    • AgentCoordinator.get_agent()根据查询类型动态分派
  5. 智能体执行检索与推理

    • 调用SearchTool和推理引擎,访问Neo4j知识图谱、向量存储
  6. 流式/标准模式响应

    • 支持增量与整体答案输出
  7. 调试&可视化

    • 响应可带推理链与知识图谱可视化数据

【此处建议插入查询响应主流程图,细化每步逻辑】


八、前端与API服务

  • 展现层

    :Streamlit前端,支持对话、KG可视化、调试操作

  • API层

    :FastAPI RESTful接口,集成多agent、KG与检索服务

  • 实时交互体验

    :支持流式、标准两种响应方式

  • 多级缓存

    :CacheManager多策略配置,极大提升查询响应速度与资源复用


九、网页端演示

非调试模式下的问答:

no-debug

调试模式下的问答(包含轨迹追踪(langgraph节点)、命中的知识图谱与文档源内容,知识图谱推理问答等):

debug1

debug2

debug3

🔮 十、未来规划

  1. 自动化数据获取:

    • 加入定时爬虫功能,替代当前的手动文档更新方式
    • 实现资源自动发现与增量爬取
  2. 图谱构建优化:

    • 采用 GRPO 训练小模型支持图谱抽取
    • 降低当前 DeepResearch 进行图谱抽取/Chain of Exploration的成本与延迟
  3. 领域特化嵌入:

    • 解决语义相近但概念不同的术语区分问题
    • 优化如"优秀学生"vs"国家奖学金"、"过失杀人"vs"故意杀人"等的嵌入区分
  4. Agent 性能优化:

    • 提升 Agent 框架响应速度
    • 优化多 Agent 协作机制
  5. 项目工程方面优化

    • 项目结构优化,现有项目结构过于冗余分散
    • 缓存优化,现有缓存只能命中完全相同的查询

GraphRAG + DeepSearch塑造了结构化知识驱动问答和深度推理的行业标杆。系统兼顾了知识图谱的强上下文与因果链优势,以及大模型的灵活推理泛化能力;多Agent多策略调度确保了简单事实类到复杂研究级问题的高质可解释响应。面向未来,系统方案具备极强拓展性,可广泛应用于科学研究、企业智能、法律金融、医疗等专业场景。


十一、相关内容

img

img

如何学习大模型 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 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

《实战AI智能体》不同RAG技术架构对比——DeepSearcher 作为《向量数据库指南》作者,我在过去三年深度参与了超过200个企业级AI项目的架构设计,发现不同RAG架构的选择直接影响着知识召回率、推理准确性和系统响应延迟等核心指标。本文将结合Mlivus Cloud的工程实践经验,系统剖析传统RAG、GraphRAG和DeepSearcher三大技术架构的差异特征与实施路径。传统RAG架构采用经典的"分块-嵌入-检索"三阶段处理流程。但需要特别注意的是,该架构对硬件资源的需求呈指数级增长,建议采用Mlivus Cloud的弹性扩缩容功能进行成本控制。 阅读详情

相关推荐

《实战AI智能体》——不同RAG模式GraphRAG和DeepSearcher维度对比

一、RAG技术体系的核心维度解析作为深耕向量数据库领域30余年的专家,我曾主导Mlivus Cloud在金融、医疗、工业等领域的检索增强生成(RAG)系统落地。从技术演进视角看,RAG的范式迭代始终围绕四大维度展开。在《向量数据库指南》中,我系统梳理了不同RAG模式的技术差异与选型逻辑,本文将结合实战案例深度解读三类主流范式——传统RAG、GraphRAG与DeepSearcher的核心特性及其与向量数据库的协同优化策略。

实战AI智能体 284

从“被优化”到“AI训练师”:35岁转行实操手册,把经验变成喂给AI的“黄金饲料”

2025年的职场,“35岁+”仿佛一道无形的分水岭。

m0_59163425的博客 4513

GraphRAG深度解析:架构设计与实战案例

生成模块结合检索到的图数据和用户输入的查询,生成高质量的文本输出。通过结合图数据库中的知识,模型可以更准确地回答用户的问题,提供更优质的客户服务。通过分析用户的行为和偏好,结合图数据库中的知识,模型可以为用户提供个性化的推荐。:通过图数据库存储和检索结构化的知识,为语言模型提供丰富的背景信息,提升生成内容的质量和准确性。:选择合适的图数据库,如Neo4j、OrientDB等,以支持高效的图数据存储和检索。:利用图数据库的高效检索能力,快速找到与用户查询最相关的图元素,提高系统的响应速度。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1593

GraphRAG vs DeepSearch?GraphRAG 提出者给你答案

这些摘要是没有偏见的保有原始知识中天然聚集性质、重要性质的脉络知识,在回答带有宏观全局性的问题中效果非常好。我们从这些后续的工作中受益匪浅,在与我们的客户 Graph based RAG 落地工作中,不断打磨、探索、累积了很多各个环节的优化、方法、策略。最终形成了我们称为。

Python_cocola的博客 1456

NC数据预处理避坑指南:从MATLAB读取到GeoTIFF导出,解决坐标翻转与值域异常

本文详细解析了NC数据预处理中的常见问题,包括MATLAB读取时的坐标翻转与GeoTIFF导出时的值域异常。通过实战案例,介绍了如何解决矩阵方向错乱、处理FillValue与scale_factor、精准移植空间参考等关键问题,帮助研究者高效完成气象数据的批量处理与GIS兼容性验证。

weixin_30788619的博客 654

GPU基准测试全攻略:从驱动验证到深度学习环境部署

GPU基准测试是评估显卡性能与稳定性的核心方法,其原理在于通过标准化负载程序,对GPU的计算单元、显存和散热系统进行压力测试。这项技术的价值在于,它能科学量化硬件性能,确保软件环境配置正确,为深度学习、科学计算等重负载任务提供稳定基础。在实际应用场景中,无论是新卡验机、排查深度学习环境问题(如“warning: no usable gpu found”报错),还是验证“PyTorch GPU版本安装”后的实际算力,系统的基准测试都是不可或缺的工程实践环节。通过结合通用计算测试与深度学习框架验证,用户可以提前

weixin_30080745的博客 343

【AI落地应用实战】RAGFlow + 知识图谱Knowledge Graph + Deepseek + 知识库构建初步探索

用RAG搭建过知识库就知道,在使用RAG搭建知识库的时候,整个索引、检索是基于文本块的,当有请求过来的时候,RAG首先根据请求去寻找哪些文本块是最相关、最匹配的,再把找到的文本块作为参考资料,连同请求一起给到大模型。知识结构的空心化人类专家的知识体系是立体建构的,既有学科主干脉络,又能自由调用跨领域知识节点。而LLM的知识表征更接近平面化的概率分布,当处理需要深度领域知识交叉的问题时,容易暴露概念关联的脆弱性。举个例子,用户询问“哪些药物可以治疗高血压?

白洞,白色的明天在等着我们 1万+

人工智能入门系列之一: 鸢尾花(Iris)多分类的神经网络详解及代码实现

这是最好的时代,我们一起来打造属于自动驾驶汽车上路、无人机飞天、智能机器人管工厂的AI未来 人工智能领域分化为两个阵营:其一是规则式(rule-based)方法,在人工智能早期占主峰;其二是神经网络(neural network)方法,后起之秀。随着硬件水平的提高,算力的指数式增长;人工智能的重心已经从规则式的专家时代转移到神经网络的数据时代。 “神经网络”不选择把人脑熟稔的逻辑规则传授给计算机...

NLP家的码奴小荷的博客 2万+

GraphRAG:知识图谱+RAG技术

由于RAG的一些缺陷,最近工作中用到了GraphRAG,可以简单理解为知识图谱+RAG工作,在进行QFS与深度推理上表现良好。老板希望,在类似于库存管理、预测上面,可以结合更多的上下文信息和逻辑关系,进行推理和结果的输出。(下图为RAG简单示意图)

2401_84208172的博客 2万+

ROS专栏—基于STM32F103的INA219电源数据采集

文章主要记录了stm32f103对ina219的数据采集

热爱生活、奋斗前行 2353

信捷PLC XD5系列运动控制(10轴)编程应用篇

项目PLC采用XD5-60T10-E,36DI 24DO 晶体管输出,支持10路脉冲输出功能。TMR指令定时器时基可以自己设定,这点比其他品牌PLC方便。ZRN指令我们需要上升沿指令触发。 5、变址寻址 该说不说这个变址寻址是真的强,比西门子指针、三菱的变址寄存器Z 、V都要更加灵活。 7、特殊寄存器:时钟 8、如何建立PLC通讯...............

RXXW_Dor的博客 1万+

GraphRAG + DeepSearch 下一代企业级人机协同大模型推理架构及医药法律等领域Agent深度详解

全栈GraphRAG平台自底向上实现GraphRAG功能,集成知识图谱构建、社区检测与多智能体协同多步深度推理以证据链追踪、矛盾检测等方式支撑复杂问答智能体体系针对不同查询复杂度动态分派专用Agent增量式知识管理文件变更检测与自动+人工冲突处理思考过程可视化、解释性AI完整推理流程与证据可视化追踪。

HUANGXIN9898的博客 1071

SE模块理解+SE-Resnet模块pytorch实现

文章目录SE模块理解SE实现注意力机制原因SE-resnet网络pytorch实现定义residual定义SE模块 SE模块理解 SENet是Squeeze-and-Excitation Networks的简称,拿到了ImageNet2017分类比赛冠军,其效果得到了认可,其提出的SE模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中。SENet主要是学习了channel之间的相关性,筛选出了针对通道的注意力,稍微增加了一点计算量,但是效果比较好。 SE模块广泛应用于去噪,去雨方向,利用SE模

qq_42754919的博客 2万+

RAG 架构图解:从基础到高级(二)Graph RAG、Hybrid RAG

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

老皮的博客 1913

运营商拼命封杀的PCDN到底是个啥?

最近一段时间,很多宽带用户发现自家的网速莫名其妙变慢了,甚至收到了运营商发来的“违规使用宽带”警告短信,严重的甚至直接被断网。很多人一头雾水:我交了钱办的宽带,自己买的插件或者京东云、网心云这些硬件赚点“电费”,怎么就成了运营商眼中的“过街老鼠”?今天,我们就把这层窗户纸捅破,深度剖析这个让互联网大厂省下几十亿、让运营商恨得牙痒痒、让用户夹在中间进退两难的技术黑话——。

网络技术联盟站 917

【AI】在RK3576上,使用RKNN实现MeloTTS(文本转语音)

在瑞芯微的RK3576上实现TTS(文本转语音)功能,使用CPU实现时,几乎把CPU资源全部耗尽,没有实用价值。通过将MeloTTS转为onnx,再转为RKNN,来使用RK3576的NPU硬件加速,成功实现TTS。

郭老二 564

别搞 GraphRAG 了,拥抱新一代 RAG 范式 DeepSearcher

大家好,我是玄姐。刚刚在朋友圈兴奋庆祝《哪吒2》荣登全球IMAX票房历史前八,喜悦之情还未平复;午后,老板便发话:“小王,你这么有见解,用 DeepSeek 做个《上古神话中龙族形象在流行文化中的变迁》分析吧,下班前交给我……”别忘了,还得融合孙悟空和哪吒的魅力点,借鉴《山海经》到《哪吒》的成功策略,结合古典文学理论与现代精神分析,打造出我们独有的用户体验(此处省略800字)老板的要求如同烟花般绚...

musicml的博客 1078

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Deepsearch 、Rag 、RraphRag

DeepSearch、RAG(Retrieval-Augmented Generation)和 GraphRAG 这三种技术在智能检索、信息增强和知识推理方面各有侧重,适用于不同的场景。下面分别介绍它们的特点、区别以及适用场景,并提供如何选择的建议。DeepSearch → 精准检索,适用于知识库、搜索引擎。RAG → 检索增强生成,适用于 AI 问答、文本总结。GraphRAG → 结合知识图谱,适用于复杂推理任务。

MCN的博客 1597

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

RAG 架构图解:从基础到高级的7种模式

RAG 技术通过在 AI 生成过程中引入外部知识检索,从基础的文档查询发展到多模态、Multi-Agent 体协同的智能架构,让 AI 回答更准确、更全面」「核心组件」嵌入模型: 将文本转换为向量表示生成模型: 负责最终的内容生成重排序模型: 优化检索结果的相关性向量数据库: 存储和检索向量化的内容提示模板: 规范化的查询处理模板AI Agent: 智能决策和任务协调图例 1👉[优快云大礼包(安全链接,放心点击)]👈。

2401_85375186的博客 1653

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

手把手教你构建基于知识图谱的GraphRAG之结构化数据篇【LangChain+Neo4j】

检索增强生成(RAG)是一种利用外部知识来增强大模型生成能力减少幻觉的主流方法,而对知识最常见的一种组织与索引的形式是向量化及基于向量相近性的检索。但除此之外,基于Graph图结构的知识图谱也是一种强大的知识组织工具,在很多场景下它可以实现更有意义的上下文检索并帮助模型输出更加准确的响应内容。预备知识:GraphRAG基础在开始之前,我们先快速了解图(Graph)、图数据库(GraphDB)、知识图谱(Knowledge Graph)以及GraphRAG的基础知识。。

Python_cocola的博客 6138

从“小白“到“大神“:一文读懂RAG两大框架,编程开发者的“AI内功心法“!

本文深入解析RAG技术两大主流框架RAGFlow与GraphRAG的架构设计。RAGFlow以文档理解为中心,构建知识加工流水线;GraphRAG则引入知识图谱实现全局推理。两者代表了RAG技术在不同维度上的探索,未来趋势是混合知识表示与智能查询路由,开发者需以积木式思维构建适合业务场景的现代RAG系统。

Androiddddd的博客 1069

技术动态 | GraphRAG:设计模式,挑战和落地指南

转载公众号| 知识图谱科技GraphRAG (基于知识图谱检索增强生成) 通过将知识图谱 (KGs) 或图形数据库与大型语言模型 (LLMs) 集成,增强了传统的检索增强生成 (RAG) 方法。它利用图形数据库的结构化特性,将数据组织为节点和关系,以更高效准确地检索相关信息,并为生成响应提供更好的上下文,使LLMs感知到更多的信息。通过将知识图谱作为结构化的、领域特定的上下文或事实信息的来源,G...

开放知识图谱 2236

理解图结构和图推理,彻底掌握GraphRAG底层逻辑,悄悄超越99%的人 | ICLR2024

GraphRAG的一个重要创新是利用图的模块化特性来实现全局总结。通过社区检测算法,系统可以将大型知识图谱划分为多个相关性较强的社区。对这些社区进行独立总结,再汇总这些社区总结,就可以高效地实现对整个数据集的全局总结。这种方法使得系统能够回答"数据集的主要主题是什么?"这类需要对整体数据有全面理解的全局性问题,这是传统RAG系统难以实现的。

m0_59164520的博客 2528

LPA算法

冲

m0_53302824的博客 2389

GraphRAG:使用LLM生成知识图谱,提升企业级问答系统

GraphRAG通过结合LLM和知识图谱技术,为企业提供了一种强大的工具,用于从非结构化数据中提取结构化知识,并增强问答和推理能力。它不仅提升了大模型的可解释性,还增强了其在特定领域的应用能力。希望本文的介绍能帮助你更好地理解GraphRAG及其应用。如果你对这一领域感兴趣,欢迎在评论区留言交流!

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 781
上一篇: TTRL(Test-Time RL)微调新方法:极简版RL,效果吊打SFT
下一篇: 图解AI:RAG分块策略
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2832原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值