当前位置: 首页 > news >正文

【大模型系列篇】最强检索增强技术GraphRAG基本原理详解

GraphRAG是一种结合了知识图谱(Knowledge Graph)和大型语言模型(Large Language Model, LLM)的检索增强生成(Retrieval-Augmented Generation, RAG)技术。它通过引入图结构化的知识表示和处理方法,显著提升了传统RAG系统的能力,为处理复杂和多样化数据提供了强有力的支持。

RAG的目标是通过知识库增强内容生成的质量,通常做法是将检索出来的文档作为提示词的上下文,一并提供给大模型让其生成更可靠的答案。更进一步地,RAG的整体链路还可以与提示词工程(Prompt Engineering)、模型微调(Fine Tuning)、知识图谱(Knowledge Graph)等技术结合,构成更广义的RAG问答链路。

1.1 传统RAG的核心链路分为三个阶段

  • 索引(向量嵌入):通过Embedding模型服务实现文档的向量编码,写入向量数据库。
  • 检索(相似查询):通过Embedding模型服务实现查询的向量编码,使用相似性查询(ANN)实现topK结果搜索。
  • 生成(文档上下文):Retriver检索的结果文档作为上下文和问题一起提交给大模型处理。

1.2 传统RAG技术核心步骤与通用优化方法

  • 文档切分
    • 根据关键字符切分或根据字符串长度切分、以及滑动窗口切分等;
    • 围绕不同类型文本,可选不同切分策略;
    • 文本数据清洗占绝大多数时间,也是本环节提效的关键;
  • 文档匹配与输入
    • 根据Embedding进行文本词向量化处理,并根据余弦相似度判断和问题相关的文档;
    • 选择更好的Embedding模型、以及匹配后文本增强、重排等,是优化的关键;
  • 模型问答
    • 灵活判断文档段落内容是否可用、并根据文档进行回答;
    • 真实性检验、后处理、用户意图判断是本环节优化的关键;

1.3 传统RAG无法克服的问题

传统RAG希望通过知识库的关联知识增强大模型问答的上下文以提升生成内容质量,但也存在诸多问题。

其中某论文总结了传统RAG的7个问题:

  • 知识库内容缺失:现有的文档其实回答不了用户的问题,系统有时被误导,给出的回应其实是“胡说八道”,理想情况系统应该回应类似“抱歉,我不知道”。
  • TopK截断有用文档:和用户查询相关的文档因为相似度不足被TopK截断,本质上是相似度不能精确度量文档相关性。
  • 上下文整合丢失:从数据库中检索到包含答案的文档,因为重排序/过滤规则等策略,导致有用的文档没有被整合到上下文中。
  • 有用信息未识别:受到LLM能力限制,有价值的文档内容没有被正确识别,这通常发生在上下文中存在过多的噪音或矛盾信息时。
  • 提示词格式问题:提示词给定的指令格式出现问题,导致大模型/微调模型不能识别用户的真正意图。
  • 准确性不足:LLM没能充分利用或者过度利用了上下文的信息,比如给学生找老师首要考虑的是教育资源的信息,而不是具体确定是哪个老师。另外,当用户的提问过于笼统时,也会出现准确性不足的问题。
  • 答案不完整:仅基于上下文提供的内容生成答案,会导致回答的内容不够完整。比如问“文档 A、B和C的主流观点是什么?”,更好的方法是分别提问并总结。

总的来看:

  • 问题1-3:属于知识库工程层面的问题,可以通过完善知识库、增强知识确定性、优化上下文整合策略解决。
  • 问题4-6:属于大模型自身能力的问题,依赖大模型的训练和迭代。
  • 问题7:属于RAG架构问题,更有前景的思路是使用Agent引入规划能力。

2.1 GraphRAG的核心原理

GraphRAG技术的核心原理在于将知识图谱与图机器学习相结合,通过结构化的知识表示和高效的图算法,提升大型语言模型在处理复杂数据时的理解和推理能力。具体来说,GraphRAG首先将非结构化的文本数据转换为结构化的图谱形式,其中文本中的实体和概念被视为图中的节点,而它们之间的关系则构成节点之间的边。这种结构化的知识表示方法不仅增强了模型对数据的理解能力,还为模型提供了更丰富的信息检索和推理路径。

接下来,利用图神经网络(GNN)等图机器学习技术,GraphRAG能够进一步挖掘知识图谱中的深层信息和复杂关系。GNN通过对图谱中的节点和边进行特征提取和信息传递,实现了对图中信息的深度学习和推理。这使得Graph RAG在处理涉及复杂关系和多步骤推理的问题时表现出色,能够提供更全面且准确的答案。

GraphRAG通过利用大模型从原始文本数据中提取知识图谱来满足跨上下文检索的需求。该知识图谱将信息表示为互连实体和关系的网络,与简单的文本片段相比,提供了更丰富的数据表示。这种结构化表示使 GraphRAG 能够擅长回答需要推理和连接不同信息的复杂问题。具体来看,GraphRAG 定义了一个标准化数据模型,整体框架由几个关键组件组成,分别用于表示文档、TextUnit、实体、关系和社区报告等信息。像传统RAG一样,GraphRAG 过程也涉及两个主要阶段:索引和查询

在索引(Indexing)过程中,输入的文本被分为可管理的块,称为TextUnits 。然后大模型从这些文本单元中提取实体、关系和声明,形成知识图谱。

索引阶段执行流程

步骤1. 文本切分(Text Unit Splitting)

  • GraphRAG 需要处理的是一大篇文档或语料库。首先,它会将这些文档切分为 Text Units(文本单元),这些 Text Units 是对输入文档的细分,通常是按照段落、句子或固定长度的文本块来进行切分。
  • 这样做的目的是为了便于对文本内容进行分析,尤其是当需要进行实体识别关系抽取时,能够精准地关联到文档中的具体上下文。

步骤2. 实体识别(Entity Extraction)

  • 在文本切分之后,GraphRAG 会使用大模型(如 OpenAI GPT 或其他 LLM) 对每个 Text Unit 进行处理,提取其中的实体。这些实体通常是指文档中出现的人物、地点、组织、概念等信息。
  • 实体识别的目的是构建 实体图谱(Entity Graph),将所有实体提取出来并为后续的关系挖掘和查询做准备。

步骤3. 关系挖掘(Relationship Extraction)

  • 关系挖掘是从文本中识别出实体之间的 关系,例如:谁与谁有关联、某个实体与另一个实体之间的关系是“属于”、“合作”、“对立”等。
  • 通过这种关系提取,GraphRAG 可以构建关系图谱(Relationship Graph),这些关系将有助于后续的查询引擎理解和推理。

步骤4. 文本嵌入(Text Embedding)

  • 在识别了文本中的实体和关系之后,GraphRAG 会利用嵌入模型(如 OpenAI 的 Embedding 模型)将文本和实体表示为向量(vectors)。这些向量不仅包括了文本的语义信息,还能为后续的检索和查询提供高效的表示。
  • 这些嵌入向量将存储在 向量数据库(如 LanceDB)中,为查询时提供快速的相似度搜索。

步骤5. 构建社区和层级结构(Community and Hierarchical Clustering)

  • 通过使用 图谱聚类算法(如 Leiden 算法),GraphRAG 会将不同的实体和关系分组,形成多个社区(Community)。这些社区是根据实体之间的相似度或关系的密切程度进行划分的。
  • 这种分组帮助 GraphRAG 更好地理解不同知识领域的结构,为查询时提供更具层次性的上下文信息。

步骤6. 生成索引文件(Indexing)

  • 完成上述步骤后,所有的实体关系社区报告文本单元等信息都会存储在磁盘上的 Parquet 文件中。
  • 这些索引文件实际上就是构建好的 知识图谱,包括了文本内容、文本中涉及的实体和关系的结构化表示,并且这些文件是为后续的查询引擎和推理过程提供基础。

总的来说GraphRAG 的 索引阶段 是一个 多步骤 的过程,基本流程是:

  1. 文本切分(Text Units)
  2. 实体识别(Entity Extraction)
  3. 关系挖掘(Relationship Extraction)
  4. 文本嵌入(Text Embedding)
  5. 社区划分和层级结构(Clustering)
  6. 生成索引文件(Indexing)

整个过程的目的是将文档中的原始文本转化为可以进行检索和推理的结构化知识图谱。

实体识别关系挖掘 通常是在文本切分之后进行的,因为需要先确保文本已经切分成足够小的单元才能进行更精细的分析和抽取。

查询阶段执行流程

在GraphRAG的查询阶段,核心任务是基于构建好的知识图谱来检索相关信息并生成回答。具体来说,查询阶段会利用之前在索引阶段构建的所有实体、关系和社区报告等信息,结合用户的查询请求,自动选择最相关的上下文,并通过大语言模型(如GPT等)生成智能化的回答。

2.2 GraphRAG的优势与挑战

独特的优势

GraphRAG技术相较于传统的RAG方法和大型语言模型,具有以下几方面的独特优势:

  • 理解能力更强:通过结合知识图谱和图机器学习技术,GraphRAG能够深入理解文本中的实体、概念及其相互关系,从而更准确地把握数据的内涵和外延。这种能力使得GraphRAG在处理需要深度上下文理解的任务时表现出色,能够提供更精确和全面的分析结果。
  • 推理能力更出色:GraphRAG利用图中的节点和边进行信息传递和推理计算,能够实现复杂的多步骤推理过程。这种推理能力使得GraphRAG在处理需要复杂逻辑分析的任务时更具优势,能够提供更深入、全面的分析结果。
  • 检索效率更高:基于知识图谱的结构化表示和图检索技术,GraphRAG能够快速定位到相关信息,提高检索效率和准确性。这种高效的检索能力使得GraphRAG在处理大规模数据集时更具优势,能够更快地响应用户查询。
  • 可扩展性更好:随着新数据的不断加入,GraphRAG能够自动更新知识图谱,保持信息的时效性和准确性。同时,该技术还易于扩展到跨领域的数据整合和分析任务中,为不同领域的应用提供了广泛的可能性。

面临的挑战

尽管GraphRAG技术展现出了强大的潜力和优势,但在实际应用中仍然面临一些挑战。首先,构建一个高质量的知识图谱需要大量的资源和时间,尤其是在领域知识深奥复杂的情况下。此外,知识图谱的更新与维护也是一个重要问题,如何保证知识图谱中信息的时效性和准确性仍然是一个技术挑战。其次,在处理大规模的知识图谱和文档库时,如何保持高效的检索和推理速度是另一个技术难题。

GraphRAG需要进一步优化其算法和架构,以应对大规模数据处理的需求。最后,由于GraphRAG需要处理大量外部数据,包括敏感的个人信息或商业机密,如何在确保模型性能的同时保护隐私和遵循道德规范,是其未来发展需要考虑的重要问题。

2.3 GraphRAG的应用场景

GraphRAG技术在多个领域具有广泛的应用潜力。以下列举几个典型的应用场景:

  • 私有数据分析:企业可以利用GraphRAG从内部数据中提取有价值的洞察和趋势,为业务决策提供支持。例如,在金融领域,该技术可用于识别潜在的风险点和投资机会;在电商领域,则可用于挖掘用户购买行为和兴趣偏好等信息。
  • 新闻媒体与内容创作:GraphRAG技术可用于自动化生成新闻摘要、故事梗概等内容,提高内容生产效率和质量。同时,该技术还可用于实现个性化的内容推荐和分发服务,满足用户多样化的信息需求。
  • 学术研究与知识发现:研究人员可以借助GraphRAG技术对文献数据进行深度挖掘和关联分析,识别研究热点和前沿动态。此外,该技术还可用于构建领域知识库和专家系统,为科研工作者提供便捷的知识检索和咨询服务。
  • 医疗健康信息管理:在医疗健康领域,GraphRAG技术有助于整合病历记录、医学研究和治疗指南等多元化的信息资源,为医生提供全面的诊断支持和个性化治疗方案建议。同时,该技术还可以用于药物研发过程中的分子结构分析和作用机制预测等任务中。

2.4 GraphRAG的应用流程

2.5 GraphRAG的发展历程

微软GraphRAG自提出,已历时快一年,我们对其发展历程进行了专门梳理与总结:

  • 2024年4月,为解决传统RAG在全局性的查询总结任务上表现不佳,微软多部门联合提出Project GraphRAG(大模型驱动的KG);
  • 2024年7月,微软正式开源GraphRAG项目,引起极大关注,至今24.4k star,但落地时却面临巨大成本痛点(具体:LLM用于实体关系抽取+描述,社区总结);
  • 2024年11月,为了上述痛点,微软发布了LazyGraphRAG,将数据索引成本降低1000倍,只有GraphRAG的0.1%(使用 NLP 名词短语提取来识别概念及其共现,再利用图形统计来优化概念图并提取分层社区结构);
  • 时隔3月,微软GraphRAG项目迎来2.0.0版本,正式开源LazyGraphRAG,即NLP graph extraction功能。

3.1 LazyGraphRAG的革新性改进

尽管GraphRAG在许多场景中表现出色,但在处理全局数据查询时,其成本问题一直受到诟病,尤其是在大规模AI模型中,查询的延迟和准确性也成为了瓶颈。为了解决这些问题,微软研究院在近日推出了GraphRAG的全新升级版——LazyGraphRAG。LazyGraphRAG的最大亮点在于其极低的成本,数据索引的开销仅为GraphRAG的0.1%。并且微软还采用了创新的混合数据搜索方法,使得生成结果的准确性和效率都有显著提升。LazyGraphRAG将很快以开源的形式加入GraphRAG库,进一步扩展其应用范围。

为什么称为 “Lazy”?

LazyGraphRAG 被称为“懒惰”,是因为它推迟了对大型语言模型(LLM)的使用。在索引阶段,LazyGraphRAG 仅使用轻量级的自然语言处理(NLP)技术来处理文本,将 LLM 的调用延迟到实际查询时。这种“懒惰”的策略避免了前期高昂的索引成本,实现了高效的资源利用。

3.2 LazyGraphRAG的优势

低成本的数据索引

LazyGraphRAG的最大亮点在于其数据索引阶段的创新。传统的GraphRAG需要通过大型语言模型提取和描述实体及其关系,并为每个实体生成详细总结,这一过程导致了高昂的成本。而LazyGraphRAG则通过NLP名词短语提取技术,识别概念及其共现关系,再通过图形统计优化概念图,并提取分层社区结构。这样,LazyGraphRAG不仅保留了GraphRAG的强大功能,而且大幅降低了计算成本,其索引成本仅为完整GraphRAG的0.1%。

高效的查询处理

LazyGraphRAG采用了“懒惰”模式,结合了最佳优先搜索(Best-first Search)和广度优先搜索(Breadth-first Search)的优势。首先,按相似度排名文本片段,然后通过动态选择相关社区来逐步细化查询结果。相比传统的广度优先搜索,LazyGraphRAG能够更加高效地找到最佳匹配的文本块,同时考虑整个数据集的广度,极大地提高了查询的效率。

4 其他RAG技术

LightRAG:轻量级图增强检索框架

LightRAG 是由港大黄超团队开发的 RAG(检索增强生成)优化框架,旨在通过图结构与双层检索机制,显著降低大模型检索成本,同时提升复杂查询的处理能力。其设计理念为 “Less is More”,强调轻量化、高效性和动态知识更新。

NanoGraphRAG:轻量级复现与教学框架

NanoGraphRAG 是微软GraphRAG的轻量化复现项目,旨在简化原始框架的复杂性,保留核心功能(如社区聚类、分层查询),便于开发者学习与快速部署。其代码量仅为官方实现的20%,适合学术研究与本地化应用。

相关文章:

【大模型系列篇】最强检索增强技术GraphRAG基本原理详解

GraphRAG是一种结合了知识图谱(Knowledge Graph)和大型语言模型(Large Language Model, LLM)的检索增强生成(Retrieval-Augmented Generation, RAG)技术。它通过引入图结构化的知识表示和处理方法&#xff…...

【高阶数据结构】第二弹---图的深度解析:从基本概念到邻接矩阵的存储与操作

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【高阶数据结构】 目录 1、图的基本概念 2、图的存储结构 2.1、邻接矩阵 2.1.1、基本结构 2.1.2、图的创建 2.1.3、获取顶点下标…...

【Java实战】——手撕斐波那契数列

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:【Java】内容概括 这里写目录标题 1.什么是斐波那契数列?2.代码实现2.1 递归实现2.2 迭代实现 3.执行结果 …...

Python数据可视化-第7章-绘制3D图表和统计地图

环境 开发工具 VSCode库的版本 numpy1.26.4 matplotlib3.10.1 ipympl0.9.7教材 本书为《Python数据可视化》一书的配套内容,本章为第7章 绘制3D图表和统计地图 本章首先介绍了使用mplot3d工具包绘制3D图表,然后介绍了使用animation模块制作动画&#…...

操作系统 4.2-键盘

键盘中断初始化和处理 提取的代码如下: // con_init 函数,初始化控制台(包括键盘)的中断 void con_init(void) {set_trap_gate(0x21, &keyboard_interrupt); } ​ // 键盘中断处理函数 .globl _keyboard_interrupt _keyboard…...

24.0.2 双系统ubuntu 安装显卡驱动黑屏,系统启动界面键盘失灵

问题描述:通过run文件在ubuntu 界面版安装nvidia 驱动后,忽然黑屏,再次启动时,键盘鼠标失灵无法选择系统,只能进入ubuntu界面。第二个问题是ubuntu 也无法用户登录,左上角光标闪烁。 查询方案,…...

探索多领域免费API资源库:打造数据查询利器

在当今信息爆炸的时代,获取各种领域的数据已成为许多人的需求。而免费API资源库的出现为我们提供了便捷的途径,让我们可以轻松地获取所需数据。本文将介绍涵盖20领域的免费API资源库,通过代码示例展示其功能,帮助读者更好地理解和…...

jenkins项目发布-安装k8s(rancher)客户端kubectl

找一台Linux 上安装 kubectl 以下是通过国内镜像源快速安装 kubectl 的方法,适合国内网络环境。 1. 下载 kubectl 通过国内镜像源下载指定版本的 kubectl: 使用阿里云镜像源下载: curl -LO "https://dl.k8s.io/release/$(curl -L -…...

【2025年认证杯数学中国数学建模网络挑战赛】C题 数据预处理与问题一二求解

目录 2025认证杯网络挑战赛A题 数据预处理与问题一求解三、数据预处理及分析3.1 数据可视化3.2 滑动窗口相关系数统计与动态置信区间耦合分析模型3.3 耦合关系分析结果 四、问题一代码数据预处理问题一 2025认证杯网络挑战赛 A题 数据预处理与问题一求解 三、数据预处理及分析…...

天玑AI开发套件2.0模型库数量激增3.3倍,让AI开发选择更自由

AI终端能力的升级,从不止步于硬件性能的提升,更有赖于软硬一体的系统化能力建设。在MDDC 2025大会上,联发科整合发布AI游戏两大核心场景下的开发平台:Neuron Studio打通模型开发全流程;Dimensity Profiler从多个维度提…...

edge 更新到135后,Clash 打开后,正常网页也会自动跳转

发现了一个有意思的问题:edge 更新135后,以前正常使用的clash出现了打开deepseek也会自动跳转: Search Resultshttps://zurefy.com/zu1.php#gsc.tab0&gsc.qdeepseek ,也就是不需要梯子的网站打不开了,需要的一直正…...

Socket多路复用网络编程应用总结

Socket多路复用网络编程应用总结 概述 • 传统I/O模型的局限性:传统阻塞式I/O模型每次仅在一个文件描述符(File Descriptor, FD)上执行I/O操作,导致程序需等待单个操作完成,无法高效处理多连接场景(如高并…...

APT攻击阶段划分,每个阶段分区方法

根据现有资料,APT(高级持续性威胁)攻击的阶段划分主要基于两种主流模型:洛克希德-马丁的杀伤链模型和生命周期模型。以下是分阶段详解及分区依据: 一、洛克希德-马丁杀伤链模型(7阶段) 核心逻辑…...

图像颜色空间对比(Opencv)

1. 颜色转换 import cv2 import matplotlib.pyplot as plotimg cv2.imread("tmp.jpg") img_r cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_g cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_h cv2.cvtColor(img, cv2.COLOR_BGR2HSV) img_l cv2.cvtColor(img, cv2.C…...

【NLP 58、利用trl框架训练LLM】

孤独总比忍受傻逼好得多 —— 25.4.11 源代码网页: 项目文件预览 - trl:Train transformer language models with reinforcement learning. - GitCode TRL —— 变压器强化学习 trl:一个用于后训练基础模型的全面库 1.概述 TRL 是一个利用监督微调&a…...

数据仓库元数据的管理

元数据(Meta Date),主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态 及ETL的任务运行状态。一般会通过元数据资料库(Metadata Repository)来统一地存储和管理元数据,其主要 目的…...

MySQL逻辑架构有什么?

1. MySQL逻辑架构分层 MySQL的逻辑架构可分为三层(自上而下): 连接层(Client Layer)服务层(Server Layer)存储引擎层(Storage Engine Layer) -----------------------…...

蓝桥杯 web 常用到的一些知识点

reduce 方法遍历数组、将数组元素累计 ①reduce接收两个参数,一个回调函数,一个初始值 ②回调函数传递了两个参数,一个是累加值,另一个是当前值 reduce的写法: arrays.reduce((a,c&#xff…...

构建高可靠C++服务框架:从日志系统到任务调度器的完整实现

构建高可靠C服务框架:从日志系统到任务调度器的完整实现 一、深度解析示例代码技术体系 1.1 日志系统的进阶应用 示例代码中的ZRY_LOG_XXX宏展示了基础日志功能,但在生产环境中我们需要更完善的日志系统: 推荐技术栈组合: sp…...

<C#>在 C# .NET 中,使用 LoggerExtensions方法创建日志

在 C# .NET 中,LoggerExtensions 是 Microsoft.Extensions.Logging 命名空间下的一组扩展方法,它们为 ILogger 接口提供了便捷的日志记录方式。借助这些扩展方法,你能轻松记录不同级别的日志,如调试信息、信息、警告、错误等。下面…...

微服务与Spring Cloud Alibaba简介

微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。本单元主要介绍微服务架构的定义、微服务的特征、微服务架构面临的挑战、Spring Cloud 定义、Spring Cloud 核心组件、Spring C…...

元生代品牌建设:平台实现工作流(comfyui)创建与技术文档说明

本文摘要:蓝耘科技自2004年成立以来,从传统IT系统集成业务转型为聚焦GPU算力云服务的科技公司。其发布的元生代平台,是一个集算力调度、应用市场和AI协作开发为一体的智算云平台。用户可在蓝耘平台使用ComfyUI进行AI绘图,通过添加…...

无线通信网

1.2.4G相邻信道间有干扰,5G相邻信道几乎无干扰 2.2.4G频段的优点是信号强,衰减小,穿墙强,覆盖距离远;缺点是带宽较窄,速度较慢,干扰较大。 5G频段的优点是带宽较宽,速度较快&#…...

WMware虚拟机Ubuntu磁盘扩容

VMware中操作: 选择要扩容的虚拟机,点击编辑虚拟机设置 打开后点击磁盘——>点击扩展(注意:如果想要扩容的话需要删除快照) 调整到你想要的容量 点击上图的扩展——>确定 然后我们进到虚拟机里面 首先&#…...

vscode头文件自由跳转

文章目录 1. 安装c/c扩展2. 建.vscode文件夹 当你想要ctl鼠标左击跳转到三方库的定义的时候请往下看。 1. 安装c/c扩展 2. 建.vscode文件夹 在.vscode文件夹下新建c_cpp_properties.json {"configurations": [{"name": "Linux","include…...

BUG:Cannot find implementation for xxx. database. xxx. xxx_Impl does not exist

问题背景 使用Jetpack Compose将数据存储在room本地数据库时,编译报错: java. lang. RuntimeException: Cannot find implementation for com. example. androidproject. practice. roomdmeo. database. AppDatabase. AppDatabase_Impl does not exist …...

基于PySide6与pyCATIA的工程图智能文本替换工具开发指南

一、需求背景与实现价值 在汽车、航空等制造领域,CATIA工程图的文本标注管理常面临批量修改需求。传统手工操作存在效率低、易出错等问题。本文实现的文本替换工具具有以下行业价值: 提升图纸修订效率(单次操作可处理数千个文本对象&#x…...

MCP协议下人工智能康复理疗智械融合编程方向分析

一、引言:AI 康复时代的技术革新 在全球人口老龄化进程加速以及慢性病发病率持续走高的双重背景下,康复医疗领域正面临着前所未有的需求增长压力。据世界卫生组织(WHO)相关数据表明,预计到 2050 年,全球 60 岁及以上老年人口数量将激增至 21 亿,这一庞大群体中,绝大多…...

【嵌入式硬件】LAN9253说明书(中文版)

目录 1.介绍 1.1总体介绍 1.2模式介绍 1.2.1微控制器模式: 1.2.2 扩展模式 1.2.3 数字IO模式 1.2.4 各模式图 2.引脚说明 2.1 引脚总览 2.2 引脚描述 2.2.1 LAN端口A引脚 2.2.2 LAN端口B引脚 2.2.3 LAN端口A和、B电源和公共引脚 2.2.4 SPI/SQI PINS 2.2.5 分布式时…...

Java学习手册:Java基本语法与数据类型

Java语言以其简洁明了的语法和强大的数据类型系统而闻名。掌握Java的基本语法和数据类型是成为一名合格Java开发者的第一步。本文将深入探讨Java的基本语法结构和数据类型,帮助读者打下坚实的基础。 Java的基本语法 Java语言的语法设计简洁而强大,强调…...

操作系统 3.4-段页结合的实际内存管理

段与页结合的初步思路 虚拟内存的引入: 为了结合段和页的优势,操作系统引入了虚拟内存的概念。虚拟内存是一段地址空间,它映射到物理内存上,但对用户程序是透明的。 段到虚拟内存的映射: 用户程序中的段首先映射到虚…...

金融简单介绍及金融诈骗防范

在当今社会,金融学如同一股无形却强大的力量,深刻影响着我们生活的方方面面。无论是个人的日常收支、投资理财,还是国家的宏观经济调控,都与金融学紧密相连。​ 一、金融学的概念​ 金融学,简单来说,是研…...

基于docker搭建redis集群环境

在redis目录下创建redis-cluster目录&#xff0c;创建docker-compose.yml文化和generate.sh文件 【配置generate.sh文件】 for port in $(seq 1 9); \ do \ mkdir -p redis${port}/ touch redis${port}/redis.conf cat << EOF > redis${port}/redis.conf port 6379 …...

CSS 中常见的布局相关属性及其功能分类

一、块级布局&#xff08;Block Layout&#xff09; 1. display 作用&#xff1a;定义元素的显示方式。常用值&#xff1a; block&#xff1a;块级元素&#xff0c;默认独占一行。inline&#xff1a;行内元素&#xff0c;与其他内容在同一行显示。inline-block&#xff1a;兼…...

用css画一条弧线

ui里有一条弧线&#xff0c;现在用css实现 关键代码 border-bottom-left-radius: 100% 7px 两个参数分别代表横向和纵向的深度border-bottom-right-radius: 100% 7px...

CesiumForUnreal 本地矢量文件的加载,支持 shp/geojson 等常用格式

实现效果 Cesium for Unreal 集成 GDAL、LibPng 实现加载本地矢量文件 实现步骤 添加依赖在 cesium-unreal 中 extern -> cesium-native -> CMakeLists.txt 中的 57 行添加依赖库,代码如下: set(PACKAGES_PRIVATEabseil draco ktx modp-base64 meshoptimizer openssl …...

面向基于发布-订阅的物联网网络的匿名 MQTT 分析

中文标题&#xff1a; 面向基于发布-订阅的物联网网络的匿名 MQTT 分析 英文标题&#xff1a; An Analysis of Anonymous MQTT for Publish-Subscribe-Based IoT Networks 作者信息 Yudai Fukushima&#xff1a;东京都立大学电气工程与计算机科学系硕士生&#xff0c;研究方向…...

<C#> 详细介绍.NET 依赖注入

在 .NET 开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff0c;简称 DI&#xff09;是一种设计模式&#xff0c;它可以增强代码的可测试性、可维护性和可扩展性。以下是对 .NET 依赖注入的详细介绍&#xff1a; 1. 什么是依赖注入 在软件开发里&#xff0…...

批量给文件编排序号,支持数字序号及时间日期序号编排文件

当我们需要对文件进行编号的时候&#xff0c;我们可以通过这个工具来帮我们完成&#xff0c;它可以支持从 001 到 100 甚至更多的数字序号编号。也可以支持按照日期、时间等方式对文件进行编号操作。这是一种操作简单&#xff0c;处理起来也非常的高效文件编排序号的方法。 工作…...

乳腺癌识别:双模型融合

​本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊​ import matplotlib.pyplot as plt import tensorflow as tf import warnings as w w.filterwarnings(ignore) # 支持中文 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 …...

ubuntu 22.04配置cuda和cudnn

cuda&#xff1a;12.1 wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run sudo sh cuda_12.1.1_530.30.02_linux.runAbort/Continue选择Continue&#xff0c;不要勾选自带的driver 配置环境变量。~/.bashrc e…...

为什么Java不支持多继承?如何实现多继承?

一、前言 Java不支持多继承&#xff08;一个类继承多个父类&#xff09;主要出于文中设计考虑&#xff1b;核心目的是简化语言复杂性并避免潜在的歧义性问题。 二、直接原因&#xff1a;菱形继承/钻石继承问题&#xff08;Diamond Problem&#xff09; 假设存在如下继承关系&…...

ESP32S3 链接到 WiFi

以下是关于如何让 ESP32S3 连接到 WiFi 的完整流程和代码示例&#xff1a; ESP32S3 链接到 WiFi 1. 设置工作模式 ESP32 可以工作在两种模式下&#xff1a; Station (STA) 模式&#xff1a;作为无线终端连接到无线接入点&#xff08;AP&#xff09;&#xff0c;类似于手机或…...

AndroidTV D贝桌面-v3.2.5-[支持文件传输]

AndroidTV D贝桌面 链接&#xff1a;https://pan.xunlei.com/s/VONXSBtgn8S_BsZxzjH_mHlAA1?pwdzet2# AndroidTV D贝桌面-v3.2.5[支持文件传输] 第一次使用的话&#xff0c;壁纸默认去掉的&#xff0c;不需要按遥控器上键&#xff0c;自己更换壁纸即可...

在spark中,窄依赖算子map和filter会组合为一个stage,这种情况下,map和filter是在一个task内进行的吗?

在 Spark 中&#xff0c;当 map 和 filter 这类窄依赖&#xff08;Narrow Dependency&#xff09;的算子连续应用时&#xff0c;它们会被合并到同一个 Stage 中&#xff0c;并且在同一个 Task 内按顺序执行。这种优化称为 流水线&#xff08;Pipeline&#xff09;执行&#xff…...

展讯android15源码编译之apk单编

首先找到你要单编的apk生成的路径&#xff1a; sys\out_system\target\product\ussi_arm64\system_ext\app\HelloDemo\HelloDemo.apk接着打开下面这个文件&#xff1a; sys\out_system\ussi_arm64_full-userdebug-gms.system.build.log在里面找关键字"Running command&q…...

EtherCAT 转 ModbusTCP 网关

一、功能概述 1.1 设备简介 本产品是 EtherCAT 和 Modbus TCP 网关&#xff0c;使用数据映射方式工作。 本产品在 EtherCAT 侧作为 EtherCAT 从站&#xff0c;接 TwinCAT 、 CodeSYS 、 PLC 等&#xff1b;在 ModbusTCP 侧做为 ModbusTCP 主站&#xff08; C…...

SpringBoot集成阿里云文档格式转换实现pdf转换word,excel

一、前置条件 1.1 创建accessKey 如何申请&#xff1a;https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair 1.2 开通服务 官方地址&#xff1a;https://docmind.console.aliyun.com/doc-overview 未开通服务时需要点击开通按钮&#xff0c;然后才能调用…...

大数据-271 Spark MLib - 基础介绍 机器学习算法 线性回归 场景 定义 损失 优化

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; MyBatis 更新完毕目前开始更新 Spring&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; H…...

ubuntu不生成core文件的处理

1、设置unlimited ulimit -a 查看是否设置&#xff0c;没有设置的使用下面命令设置 ulimit -c unlimited这个设置只在当前会话有效&#xff0c;添加到 ~/.bashrc 中&#xff0c;重开终端生效 2、sysctl配置 修改 /etc/sysctl.conf 文件 &#xff0c;增加以下两个配置&#…...