Graph RAG:知识图谱赋能大语言模型的新范式

一、前言

大模型技术在经过一年多的飞速迭代和发展,以 ChatGPT 为代表的大语言模型(LLM)凭借其强大的文本生成能力,在各个领域掀起了一场 AI 应用的革命。然而,狂欢过后,人们逐渐意识到 LLM 并非无所不能。由于训练数据的限制,LLM 常常会“一本正经地胡说八道”,给出过时、不准确甚至完全虚构的信息

为了解决这个问题,检索增强生成(RAG)技术应运而生。RAG 就像为 LLM 配备了一个外部“知识库”,让 AI 在回答问题时不再局限于自身的“记忆”,而是能够参考最新的、更全面的信息。

然而,传统的 RAG 技术仍然依赖于文本匹配,无法真正理解文本背后的语义和逻辑关系,在处理复杂查询、捕捉细微差别等方面依然存在不足。想象一下,如果只是把一堆文件扔给学生,而不教给他们如何理解和分析,他们真的能找到问题的答案吗?

为了打破这一瓶颈, Graph RAG 应运而生。Graph RAG 将知识图谱(KG)引入 RAG 体系,就像为 AI 构建了一张清晰的“知识地图”。知识图谱能够表达实体之间的复杂关系,例如父子关系、朋友关系、因果关系等等,从而让 AI 不仅能够“查到”信息,更能够“理解”信息之间的逻辑,给出更准确、更智能的答案。

从依赖自身记忆到检索外部信息,再到利用知识图谱进行深度理解,Graph RAG 代表着 AI 问答技术的一次重大飞跃。它将如何赋能 LLM,开启人机交互的新纪元?让我们拭目以待!

二、RAG:让 AI 学会“查资料”

传统的 LLM 就像一个博览群书的学者,知识储备丰富,但缺点是“学识”停留在某个时间节点,容易“跟不上时代”。这就好像,你问一个古代的学者“什么是互联网”,他肯定是一脸懵圈的。😂

为了解决这个问题,专家们想出了一个办法:让 AI 也学会“查资料”!这就是 RAG 技术的核心思想。

简单来说,RAG 就像为 LLM 配备了一个实时更新的搜索引擎,让 AI 在回答问题时不再局限于自身的“记忆”,而是能够随时查阅最新的资料。

具体是怎么做的呢?

第一步,检索信息。 当用户提出问题时,RAG 系统会先从海量的外部知识库中,找出与问题相关的文档或片段。这就好比你在搜索引擎里输入关键词,然后找到一堆相关的网页。

第二步,生成答案。 找到相关信息后,RAG 系统会把这些信息“喂”给 LLM,辅助其生成更准确、更全面的答案。这就好比你参考了搜索结果,再加上自己的理解,最终形成对问题的答案。

有了 RAG 技术,LLM 就不再是那个“两耳不闻窗外事”的学者,而是变成了一个“学富五车、与时俱进”的知识达人!

三、RAG 真的完美无缺吗?

虽然 RAG 让 AI 学会了“查资料”,但它也并非完美无缺。就像学生查资料也会遇到难题一样,RAG 在实际应用中也面临着一些挑战:

首先,信息检索的准确性问题。 RAG 需要从海量的外部知识库中找到最相关的资料,但这可不是一件容易的事!不同的知识库可能格式各异、内容质量参差不齐,就像你要在一堆乱七八糟的书籍和文件中找到想要的信息一样困难。

其次,处理复杂查询的能力不足。 有些问题需要结合上下文才能理解,例如“苹果公司的创始人是谁”和“苹果多少钱一斤”,这两个“苹果”可不是一回事儿。传统的 RAG 技术主要依赖关键词匹配,对这类需要深度语义理解的复杂查询,就显得力不从心了。

最后,检索效率也是一个问题。 面对海量的知识库,如何快速找到最相关的信息,是 RAG 系统需要解决的关键问题。如果检索速度太慢,用户体验就会大打折扣,就像你在图书馆里等了半天,结果图书管理员告诉你“这本书借走了”,那肯定很郁闷吧。😔

为了克服这些局限性,研究人员一直在不断改进 RAG 技术,例如开发更先进的检索算法、优化知识库的组织结构等等。而 Graph RAG 的出现,则为解决这些难题提供了一个全新的思路。

四、Graph RAG:当 AI 拥有了“知识地图”

前面我们说到,传统的 RAG 技术让 AI 学会了“查资料”。但实际上,RAG 并非只是简单的关键词匹配,它通常会使用更复杂的语义搜索技术,例如基于 Transformer 的语义匹配模型,来理解用户查询的意图,并找到语义相关的文档,而不是仅仅依赖于关键词的表面匹配。

但是,传统的 RAG 仍然难以真正理解文本背后的复杂逻辑和关系。为了解决这个问题,科学家们想出了一个更厉害的办法:把知识图谱(KG)引入 RAG 系统

这是什么概念呢?想象一下,以前 AI 查资料,就像在茫茫大海中捞针,需要花费很大力气才能找到真正想要的信息。而现在,知识图谱就像一张清晰的“地图”,把各种信息和它们之间的关系都标注出来,AI 就能“按图索骥”,更快、更准确地找到目标信息了。

举个例子,当用户询问“苹果公司的创始人是哪个大学毕业的?”,传统的 RAG 系统可能会被“苹果”这个词迷惑,检索出一些关于水果的信息。而 Graph RAG 则可以利用知识图谱,准确地识别出“苹果公司”是一个公司实体,“创始人”和“大学”是与之相关联的实体,从而检索出正确的信息,比如“史蒂夫·乔布斯”和“里德学院”

Graph RAG 建立在 RAG 的基础上,并利用了知识图谱(KG)的优势。这种创新方法由 NebulaGraph 首创,通过集成图数据库,改变了 LLM 解释和响应查询的方式。Graph RAG 的工作原理是将来自知识图谱的结构化数据整合到 LLM 的处理过程中,为模型的回答提供更加细致和信息丰富的基础。

简单来说,Graph RAG 的工作原理就是:先分析用户的查询,在知识图谱中找到相关的实体和关系,然后将这些信息“翻译”成 LLM 能够理解的语言,最后再生成答案

知识图谱是对现实世界实体及其关系的结构化表示。它们由两个主要部分组成:节点和边。节点表示独立的实体,例如人物、地点、物体或概念。而边则表示节点之间的关系,表示它们如何相互关联。

这种结构使 LLM 能够访问精确且与上下文相关的的数据,从而极大地提高了其生成信息丰富答案的能力。Graph RAG 的创新之处在于它将图数据库与 LLM 相结合,在生成答案之前丰富了模型的上下文。

目前,已经有一些公司推出了自己的 Graph RAG 平台,例如 OntotextNebulaGraphNeo4j 等等,这些平台都提供了强大的图数据库和 RAG 工具,可以帮助开发者快速构建自己的 AI 知识问答系统。

五、 RAG:AI 的未来,远不止于此!

Graph RAG 的出现,为 AI 领域打开了新的大门。它不仅仅是一种技术,更是一种全新的思考方式,将深刻地改变 AI 与世界互动的方式。

未来,我们可以预见 Graph RAG 将在以下几个方面持续进化,释放更大的潜力:

1、更强大的推理能力:

未来的 LLM 将会越来越聪明,能够理解更复杂的逻辑和关系。而 Graph RAG 就像给 LLM 配备了一副“透视镜”,让 AI 能够看透事物背后的本质,进行更深入的推理和分析。例如,在医疗诊断领域,Graph RAG 可以帮助 AI 整合患者的病史、家族遗传信息、最新的医学研究成果等信息,从而做出更精准的诊断。

2、更动态、更无缝的知识更新:

传统的知识图谱更新起来比较麻烦,需要人工参与。而未来,Graph RAG 将会与 LLM 更加紧密地结合,实现知识的自动更新和完善。例如,LLM 可以从海量的文本数据中自动识别新的实体和关系,并将其添加到知识图谱中,让 AI 的“知识地图”越来越完善。

3、更广泛的应用场景:

随着 AI 计算能力的提升和成本的下降,Graph RAG 将会应用于更广泛的领域,例如金融风控、智能客服、个性化推荐等等。例如,在电商领域,Graph RAG 可以根据用户的购买历史、浏览记录、兴趣爱好等信息,构建用户的个性化知识图谱,从而推荐更精准的商品。

4、更深入的跨领域融合:

未来的 LLM 将会拥有更广泛的知识,而 Graph RAG 可以帮助 AI 将不同领域的知识进行整合和关联,从而产生新的洞察和发现。例如,将心理学知识与网络安全技术相结合,可以设计出更有效的反欺诈系统。

5、更开放的生态系统:

随着 Graph RAG 技术的不断发展,将会出现更多标准化的知识图谱表示和交换格式,不同平台之间的数据将会更加互通,从而推动 Graph RAG 技术的快速发展和应用。

总而言之,Graph RAG 为 AI 的发展指明了新的方向,它将推动 AI 从“数据驱动”走向“知识驱动”,让 AI 真正拥有理解世界、解决问题的能力。

未来,让我们一起见证 Graph RAG 如何改变世界! 🚀

六、实战演练:手把手教你玩转 Graph RAG

说了这么多,你是不是已经迫不及待地想要体验一下 Graph RAG 的魅力了呢?

下面,我们就来一起做一个简单的 Graph RAG demo,以新加坡政府的 Govtech 开发者门户为例,看看如何利用 Graph RAG 技术构建一个智能的产品信息搜索引擎。

6.1、搭建知识图谱

首先,我们需要将 Govtech 开发者门户的产品信息转换成 AI 能够理解的知识图谱。

  • 我们可以使用一些图数据库工具,例如 使用 Neo4j Desktop 启动 Neo4j 本地实例,来存储和管理知识图谱。

  • 利用一些开源的 LLM 工具和提示工程技巧,我们可以自动地从产品信息文档中提取关键信息,例如产品名称、功能描述、开发团队等等,并将这些信息转换成知识图谱中的节点和关系。以下是一个提示示例:
# 创建知识图谱的说明
## 概述
你的任务是将数据组织成知识图谱。
- **节点**: 表示实体和概念。
- 目标是确保知识图谱简洁易懂,便于广泛使用。## 节点标记
- **一致性**:  对节点使用简洁明了的标签。例如,将任何代表组织的实体标记为“公司”,而不是使用“Facebook”或“Amazon”等具体名称。
- **节点标识符**:  优先使用文本或易于理解的标识符,而不是数字标识符。- **允许的节点标签**: 如果存在特定的允许节点标签,请在此处列出。- **允许的关系类型**: 如果存在特定的允许关系类型,请在此处列出。## 管理数字数据和日期
- 将数字信息直接作为节点的属性。
- **集成日期/数字**:  不要为日期或数字创建单独的节点,而是将它们作为属性附加到相关节点上。
- **属性格式**:  使用键值对格式。
- **避免使用引号**:  不要在属性值中使用转义引号。
- **键命名**:  采用驼峰命名法(camelCase)来命名键,例如 `dateTime`。## 一致性
- **实体一致性**:  确保在不同的提及或引用中对同一实体使用一致的标识。## 遵守准则
必须严格遵守这些说明。不遵守将导致任务终止。

我们使用 CSVLoader 和文档分割技术处理文档,并将提取的信息映射到图谱的节点和关系中。接着,我们通过提取管道处理文档,并将信息存储到 Neo4j 数据库中。

整个过程大约需要一个小时,最终生成一个包含所有提取节点标签的列表。然而,并非所有节点标签都对我们当前的任务有意义或适用。

{"identity": 1040,"labels": ["Feedbackstatus"],"properties": {"id": "Feedback-Success","message": "Sent. Thank you for the feedback!"},"elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1040"
},
{"identity": 1582,"labels": ["Feedbackstatus"],"properties": {"id": "Feedbacksuccess","status": "Sent. Thank you for the feedback!"},"elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1582"
},
{"identity": 1405,"labels": ["Header"],"properties": {"id": "Modalcardhead","class": "sgds-modal-card-head"},"elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1405"
},
{"identity": 1112,"labels": ["Feedbackindicator"],"properties": {"id": "Feedbacksuccess","title": "check","message": "Sent. Thank you for the feedback!"},"elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1112"
...

这个过程就像把一堆散乱的零件组装成一辆完整的汽车一样,需要一定的技术和耐心。

6.2、接入 RAG 系统

知识图谱搭建好之后,我们就可以把它接入 RAG 系统了。

  • 我们可以使用一些开源的 RAG 框架,例如 LangChain,来简化 RAG 系统的搭建和部署。
  • 通过 LangChain 提供的模板,我们可以轻松地将 Neo4j 图数据库与 LLM 连接起来,实现 Graph RAG 的功能。

6.3、测试和优化

最后,我们需要对 Graph RAG 系统进行测试和优化,确保它能够准确地理解用户的问题,并给出满意的答案。

  • 例如,我们可以尝试询问一些关于 Govtech 产品的问题,看看 Graph RAG 系统是否能够给出比传统搜索引擎更准确、更详细的答案。
  • 如果 Graph RAG 系统的效果不理想,我们还可以通过调整提示工程的策略、优化知识图谱的结构等方式来改进系统的性能。

为了优化模型,我们需要指定大语言模型 (LLM) 应该提取哪些节点标签。

permissible_nodes_to_extract = ["Aisubfield","Application","Cloudservice","Concept","Digitalsolution","Division","Entity","Feature","Fundinginitiative","Initiative","Link","Location","Organization","Person","Platform","Policy","Program""Resource","Role","Schema","Service","Standard","Technology","Technologyplatform","Technologystack","Webframework","Webresource","Website"
]

我们可以使用 Neo4j Browser 来探索构建好的知识图谱,并不断优化提取和图谱构建方法。

一切准备就绪,让我们尝试以下查询:

问:“请详细介绍一下 AiSay,包括它的开发者、优点、应用领域以及独特之处。”

传统 RAG 的回答:“AiSay 是新加坡政府开发的一款人工智能文档阅读器。它可以自动检测、扫描和理解各种类型的文档,包括手写笔记、印刷文章、多语言文本以及结构化/非结构化文档。与传统的 OCR 系统不同,AiSay 可以处理图像和 PDF 文件等类型的文档,并提供结构化的信息。它结合了 OCR、文档问答技术以及大语言模型来理解上下文并回答问题。AiSay 支持同步和异步调用,可以处理大文件,并可以根据需要进行扩展。它以无服务器的方式托管在云端,因此可以灵活扩展以处理大量数据。AiSay 目前仍在积极开发中,支持安全性和数据分类级别高达“受限/敏感一般” (RESTRICTED/SENSITIVE NORMAL) 的文档。未来将支持更多类型的文档。AiSay 的独特功能包括:能够处理多种文档类型并提供结构化信息、可扩展性强,以及支持安全性和数据分类。”

Graph RAG 的回答:“AiSay 是新加坡政府开发的一款人工智能文档阅读器。它是一个文档解析器,可以提供结构化的信息,并从各种文档中提取信息并将其整合到现有系统中。AiSay 可以自动检测、扫描和理解各种类型的文档,包括手写笔记、印刷文章、多语言文本和结构化/非结构化文档。与传统的 OCR(光学字符识别)系统不同,AiSay 可以处理图像(JPEG、PNG、TFIF)和 PDF 文件等文档类型,并提供结构化信息。

AiSay 的一些主要优点包括:

减少人工错误并提高数据准确性,因为它可以自动从上传的文档中提取关键数据并填写到表单中。

改善数字服务体验,因为一旦上传文档,AiSay 就可以自动填写关键数据。 AiSay 的独特之处在于它能够处理各种文档类型并提供结构化的信息,支持多种格式和语言。它还为每个任务提供置信度分数,以确定是否需要额外支持,从而最大程度地减少对高置信度任务的人工干预。此外,AiSay 采用无服务器架构托管在云端,因此可以灵活扩展以处理大文件,并支持异步提取。”

在上面的例子中,Graph RAG 相比传统 RAG 方法的优势显而易见。

Graph RAG 的回答不仅准确,而且还包含了丰富的上下文信息和关系信息,这是传统 RAG 方法所缺乏的。

Graph RAG 的秘诀在于它能够分析用户的查询,精确定位图数据库中的相关数据,并利用这些上下文信息来指导大语言模型 (LLM) 生成更准确的回答。

这种方法可以利用传统方法可能忽略的互联信息网络,从而更深入地理解查询的含义。

让我们再尝试一些其他的例子:

问:“我需要从一些文档中删除敏感信息。Govtech 提供哪些产品可以实现这个功能?”

传统 RAG 的回答:“Govtech 提供 Cloak 和 FileSG 产品,可以帮助用户从文档中删除敏感信息。”

Graph RAG 的回答:“GovTech 提供了一款名为 Cloak 的产品,这是一个用于数据匿名化的集中式隐私工具包,可以确保数据处理符合相关政策。这款产品可以帮助公务员对数据集应用数据匿名化技术,并根据相关指南评估重新识别风险。”

问:“DIAB 和 SIaC 有什么区别?”

传统 RAG 的回答:“提供的文档中没有直接比较“开箱即用的数据基础设施” (DIAB) 和名为 SIaC 的产品或服务,也没有提到 SIaC。因此,根据现有信息,无法直接比较 DIAB 和 SIaC。

以下是 DIAB 的一些关键特性:

目的和开发:DIAB 由 GovTech 的数据科学和人工智能部门 (DSAID) 开发,旨在加速在“政府商业云” (GCC) 上部署和维护数据基础设施。它专门用于协助政府机构设计、部署和保护数据基础设施。

专注于数据基础设施:DIAB 强调构建一致且可扩展的数据基础设施,使政府机构在设计和实施云基础设施时能够节省时间并减少开销。这种设计理念使政府机构可以更专注于构建应用程序层。

使用基础设施即代码 (IaC):DIAB 利用 IaC 模板和参考架构来简化数据工程方面的工作,从而简化数据基础设施的设置和管理流程。 由于缺乏关于 SIaC 的信息,因此无法进行比较。DIAB 的特点表明,它是一个帮助政府机构在云端高效部署和管理数据基础设施的工具,它利用 IaC 来提高效率和可扩展性。”

Graph RAG 的回答:“DIAB(开箱即用的数据基础设施)和 SIaC(安全基础设施即代码)都是旨在简化政府机构部署云基础设施的产品。但是,它们在具体功能和侧重点上有所不同。 DIAB 旨在加速在“政府商业云” (GCC) 上部署和维护数据基础设施。它可以帮助政府机构设计、部署和保护数据基础设施,重点关注数据工程方面的工作,并提供“基础设施即代码” (IaC) 模板。DIAB 的目标是帮助政府机构构建一致且可扩展的数据基础设施,其主要优势包括易用性、效率高、内置合规性、部署灵活以及面向未来。 另一方面,SIaC 提供可定制的模板,用于以安全、合规和自动化的方式部署云基础设施。它侧重于安全配置云服务提供商提供的托管服务和工具,并提供模块化且易于调整的模板。SIaC 的主要功能包括:符合新加坡政府标准、模块化设计(适用于不同用例)、与 SGTS 组件集成,以及云原生设计。 总而言之,虽然 DIAB 和 SIaC 都旨在简化政府机构的云基础设施部署,但 DIAB 主要针对数据基础设施部署,重点关注数据工程和 IaC 模板,而 SIaC 侧重于安全合规的云基础设施部署,提供可定制的模板和模块化设计。”

七、总结

从依赖自身“记忆”到学会“查资料”,再到拥有“知识地图”,Graph RAG 的出现,标志着 AI 问答技术进入了一个全新的阶段。

传统的 RAG 技术虽然能够为 LLM 提供更丰富的知识来源,但它就像一个只会“照本宣科”的学生,缺乏对知识的真正理解。而 Graph RAG 则赋予了 AI 更强大的推理能力和逻辑思维能力,让 AI 能够像人类一样理解世界、解决问题。

当然,Graph RAG 也并非完美无缺。它的性能很大程度上取决于知识图谱的质量和覆盖范围。构建一个高质量的知识图谱并非易事,需要投入大量的人力和资源。

但我们相信,随着 AI 技术的不断发展,Graph RAG 将会克服这些挑战,释放更大的潜力。未来,Graph RAG 将推动 AI 从“数据驱动”走向“知识驱动”,让 AI 真正拥有认知智能,为人类创造更美好的未来! ✨

参考资料

[1]. 什么是 Graph RAG

https://www.ontotext.com/knowledgehub/fundamentals/what-is-graph-rag/

[2]. GraphRAG:解锁叙述性私有数据上的 LLM 发现

https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/

[3]. Graph RAG:利用 LLM 释放知识图谱的强大功能

https://medium.com/@nebulagraph/graph-rag-the-new-llm-stack-with-knowledge-graphs-e1e902c504ed

[4]. 嵌入的余弦相似性真的是关于相似性的吗?

https://arxiv.org/html/2403.05440v1

[5]. RAG 的知识图谱

https://www.deeplearning.ai/short-courses/knowledge-graphs-rag/

[6]. LangChain Neo4j

https://python.langchain.com/docs/integrations/providers/neo4j

[7]. Neo4j 图数据库

https://neo4j.com/product/neo4j-graph-database/

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

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

相关文章

时常在面试中被问到的JVM问题

文章目录 JVM 和 JDK、JRE 有什么区别?JVM 是如何工作的?JVM 主要组件JVM 执行流程JVM 的工作示例 说一下类加载机制类加载器(Class Loader)示例 什么是双亲委派模型?(Parent Delegation Model)…

cookie与session的关系

登录时:存入redis的格式是key:value 登录时的session 再次请求时:查询请求头中带了cookie的session是和登录时第一次的一致,不管是第几个请求,和缓存的cookie的session做对比 退出时--依然会带着这个sessionid 1.cookie和session: 客户端--------------------企业代…

跨平台AI模型部署神器:FastDeploy实战Yolov5

简介 FastDeploy 是一款易用、高效的 AI 模型部署工具。 它旨在简化 AI 模型从训练到部署的整个流程,支持在多种硬件和操作系统上进行模型推理。 特点如下: 多平台支持 : FastDeploy 支持在云、边、端等多种环境中部署模型,包括但不限于 Windows、Linux、Android、iOS …

短剧出海分销推广系统,海外短剧CPS分润机制方案介绍

随着国内短剧市场的蓬勃发展,其独特的叙事风格和快节奏的内容形式不仅在国内赢得了广泛好评,更逐渐跨越国界,吸引了全球观众的关注。海外短剧系统CPS分销推广是一种创新的营销模式,它主要依靠按销售分润(Cost Per Sale…

2024 Java 高分面试宝典 一站式搞定技术面

前言 每年9月和10月,被业界称为“金九银十”,这是人才市场一年中最活跃的时期。此时,企业为了来年的业务扩展,纷纷加大招聘力度,空缺岗位众多,招聘需求集中。同时,初秋的招聘活动也避开酷暑&am…

中间件安全:Nginx 解析漏洞测试.

中间件安全:Nginx 解析漏洞测试. Nginx 是一个高性能的 HTTP和 反向代理服务器,Nginx 解析漏洞是一个由于配置不当导致的安全问题,它不依赖于Nginx或PHP的特定版本,而是由于用户配置错误造成的。这个漏洞允许攻击者上传看似无害的…

git的配置使用

第三周 Tursday 早 git日志的安装使用 [rootweb ~]# yum -y install git.x86_64 //安装软件包 [rootweb ~]# rpm -ql git //查看git的包 ​ [rootweb ~]# mkdir /yy000 //创建新目录 [rootweb ~]# cd /yy000/ [rootweb yy000]# git init //将当前目录做为仓库…

ubuntu 查找文件find

find -name xxx 查找当前路径下名字为xxx的文件 find . -name xxx 查找当前路径下名字为 train_logs的文件 find . -name train_logs 具体说明 【Ubuntu】find命令_ubuntu find命令-CSDN博客 其中,路径 指定要搜索的目录路径,而 表达式 用于指定匹配条…

PHP进阶-CentOS7部署LNMP服务架构的项目

在开发和部署Web应用时,LNMP(Linux、Nginx、MySQL、PHP)的组合是非常常见的。这篇博客将介绍如何通过一个简单的脚本,在CentOS 7上部署LNMP,并将PHP项目自动部署到服务器上。这不仅可以节省大量的时间,还能…

Wi-Fi、WLAN、Bluetooth、zigbee、蜂窝网络、4g5g、MQTT

为什么打开手机的WiFi连接,显示的是WLAN? 分清Wi-Fi、WLAN、Bluetooth、zigbee、蜂窝网络、4g5g、MQTT这些概念. 一、WLAN、WIFI、WAPI WLAN是利用无线通信技术在局部区域内构建的网络,家庭/办公室里的网络就是一个WLAN,WLAN是一…

【城市数据集】世界城市数据库和访问门户工具WUDAPT

世界城市数据库和访问门户工具WUDAPT WUDAPTLCZ分类具体步骤参考 在 城市气候研究中,用于描述城市特征的数据集一般采用基于类别的传统方法,将城市地区分为数量有限的类型,从而导致精确度下降。越来越多的新数据集以亚米微尺分辨率描述城市的…

SolidEdge二次开发(C#)-环境配置

文章目录 1、前言2、环境配置2.1 安装Solidworks20242.2 安装VS20222.3 查看Com组件2.3.1 在VS2022中创建一个wpf工程项目2.3.2 添加com组件 1、前言 SolidEdge是Siemens PLM Software公司旗下的三维CAD软件,采用Siemens PLM Software公司自己拥有专利的Parasolid作…

JAVA零基础学习3(Scanner类,字符串,StringBuilder,StringJoinder,ArrayList成员方法)

JAVA零基础学习3 Scanner类输入示例代码代码解释完整代码1. 读取字符串2. 读取整数3. 读取浮点数4. 读取布尔值5. 读取单个单词6. 读取长整型数7. 读取短整型数8. 读取字节数注意事项总结 API 字符串解释示例解释解决方法示例:使用 StringBuilder String…

Java代码基础算法练习-求一个3×3矩阵对角线元素之和-2024.07.27

任务描述: 求一个33矩阵对角线元素之和,包括主对角线、副对角线元素和 (提示:主对角线: ij,副对角线:ij2)。 解决思路: 定义 3*3 的二维数组,再输入9个数字&#xff0c…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十四)-租云服务器及配环境、docker基本命令

主要介绍了租云服务器和docker配置、基本命令!!! 文章目录 前言 一、云平台 二、租云服务器及安装docker 1.阿里云 2.安装docker 三、docker命令 将当前用户添加到docker用户组 镜像(images) 容器(container) 四、实战…

linux编写shell脚本字段部署redis6.x版本,docker使用shell脚本一键自动部署redis

1.先创建部署脚本 touch redis.sh2.粘贴部署脚本内容到redis.sh echo "在线安装redis开始...." docker pull redis:6.2.1 sudo mkdir -p /home/admin/redis/{data,conf} sudo touch /home/admin/redis/conf/redis.conf echo " #注释掉这部分,这是限…

一文总结代理:代理模式、代理服务器

概述 代理在计算机编程领域,是一个很通用的概念,包括:代理设计模式,代理服务器等。 代理类持有具体实现类的实例,将在代理类上的操作转化为实例上方法的调用。为某个对象提供一个代理,以控制对这个对象的…

基于FPGA的数字信号处理(20)--半加器和全减器

1、前言 既然有半加器和全加器,那自然也有半减器和全减器了。尽管在电路中减法的实现基本都是 补码 加法 的形式,但是正所谓技多不压身,了解一下半减器和全减器还是有一定作用的,至少能扩宽知识面嘛。 2、半减器 最简单的减法器叫…

RESNET

ResNet 文章目录 ResNet主要内容开发背景解决两个问题:1. 梯度消失和梯度爆炸2. 退化问题: 解决方法1. BN(Batch Normalization)层2. 残差块 Pytorch实现BasicBlockBottleNeckResNet 主要内容 开发背景 残差神经网络(ResNet)是由微软研究院…

LLM大模型:十大人工智能大模型技术介绍

十大人工智能大模型技术的简介: 深度学习模型 深度学习是人工智能领域中一种重要的机器学习技术,通过构建深度神经网络来模拟人脑的认知过程。深度学习模型能够自动提取数据的特征,并在海量数据中进行学习和优化,从而在语音识别…