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

AgentRE:用智能体框架提升知识图谱构建效果,重点是开源!

发布时间:2024 年 09 月 13 日

Agent应用

AgentRE: An Agent-Based Framework for Navigating Complex Information Landscapes in Relation Extraction
在复杂场景中,关系抽取 (RE) 因关系类型多样和实体间关系模糊而挑战重重,影响了传统 “文本输入,文本输出” 语言模型的性能。为此,我们提出了基于代理的 RE 框架 AgentRE,该框架通过整合大型语言模型的记忆、检索和反思能力,有效应对这些挑战。AgentRE 包含三大模块,助力代理高效获取并处理信息,显著提升 RE 性能。实验表明,AgentRE 在低资源环境下表现卓越,并能生成高质量训练数据,用于优化小型模型。

在这里插入图片描述

一、背景

关系抽取( Relation Extraction,简称RE)旨在将非结构化文本转换为结构化数据(即关系三元组),在知识图谱构建等领域能发挥关键作用。
然而,关系抽取常因关系类型的多样性及句子中实体关系的模糊性等问题,致使高效 RE 难以实现。
近年来,大型语言模型(Large Language Models, LLMs)凭借其在自然语言理解与生成的强大效能,逐渐在关系抽取领域获得广泛应用。虽已取得一定进展,这些应用多限于监督式微调或小规模样本的问答(QA)形式的基础抽取,于复杂关系抽取场景的应用则较少。
将LLMs应用于复杂RE任务时,面临以下挑战:

  1. 如何最大化利用LLMs的潜力,深入挖掘有益于RE的多元信息? 包括标记样本、关联文献及知识图谱内的知识等,均可助力提升RE模型性能。遗憾的是,LLMs的上下文窗口限制阻碍了对这些丰富信息的全面整合。
  2. 如何在特定或数据贫乏领域有效实施RE? 特定领域的数据稀缺性制约了传统监督模型的表现。
  3. 如何以经济的方式实现高效的RE? 虽然LLMs表现出色,但在实践层面,模型尺寸较小、计算资源需求低的模型更受欢迎。因此,利用大型模型的智慧去微调小型模型成为了一个有吸引力的解决方案。

借鉴智能体框架的理念,即通过赋予系统记忆、反思及与外界互动的能力,可以有力推动复杂RE任务的解决。受此启发,本文作者创新性地提出了一种基于智能体的RE框架——AgentRE,旨在克服上述关系抽取挑战。

二、 什么是AgentRE?

在这里插入图片描述

上图 (a) 展示了“文本输入,文本输出(text-in, text-out)”模式下语言模型的 RE 流程,该模型直接从输入文本或通过简单的提示方法产生带有错误的结果。

图(b)则展示了AgentRE的RE流程,这是一个包含检索和记忆模块的智能体框架,在多次推理回合中利用各种信息,以实现更精确的RE。

首先,AgentRE 将大型语言模型(LLM)作为智能体,处理来自不同渠道的数据。借助检索和记忆模块等工具,辅助智能体进行推理。与传统的单轮“文本输入,文本输出”语言模型不同,AgentRE通过多轮交互和推理,拓宽了信息源的利用范围,克服了单轮提取的局限。

其次,在资源有限的情况下,AgentRE能够借助LLM的推理和记忆能力,在提取过程中进行动态总结和反思,从而精进其持续学习能力,通过不断积累经验与知识,提升提取效能。

最后,将AgentRE的推理路径转化为包含多种推理策略的高质量数据,如直接生成、分步提取和基于思维链的提取。这些丰富的数据可用于微调小型模型,引导它们灵活选择不同的提取策略,从而在成本可控的前提下,提升模型的提取表现。
在这里插入图片描述

图(a)AgentRE的整体架构,其中LLM扮演智能体的角色,通过与检索、记忆和提取模块的协同工作,从输入文本中提炼出关系三元组。

图(b)至(d)分别展示了检索、记忆和提取模块的内部结构。

  • 检索模块(Retrieval Module):负责维护静态知识库,便于存储和检索信息,这包括训练集中的标注样本以及相关的标注指南等资料。
  • 记忆模块(Memory Module):负责维护动态知识库,用于记录当前提取结果的短期记忆,以及用于总结和反思历史操作的长期记忆。通过在记忆模块中进行读写操作,记录并利用以往的提取经验。
  • 提取模块(Extraction Module):利用检索和记忆模块提供的信息,通过多种推理方法从输入文本中抽取结构化信息(关系三元组)。

2.1 检索模块

检索模块负责从现有数据集中提取相关样本,并搜集补充知识,辅助提取模块完成关系提取(RE)任务。可检索的数据范围广泛且类型繁多,主要分为两大类。

  • 标注数据:带有明确输入输出关系的标注数据,这些数据可以作为少量样本整合进LLM的上下文中,帮助模型把握当前任务的输入输出关系。
  • 相关资讯:包括关系定义、标注准则,乃至百科全书中的外部知识。这些信息作为辅助资讯注入LLM的上下文,能够辅助模型更好地理解提取任务。

为了高效地管理和运用这两类数据,设计了两种特定的检索模块:

  • 样本检索模块
  • 相关信息检索模块。

一旦获取了富有信息量的标记数据和其它相关信息,检索模块就可以利用这些数据:
在这里插入图片描述

  • 一种直接的方法是将它们合并为提示,以此整合有益信息。这些提示词模板如上图所示。提示词分为不同颜色标记的多个部分,每个部分都有清晰的标签,引导模型处理输入文本并生成适当的输出。:
    • • 紫色部分用于任务描述和输入句子
    • • 蓝色部分用于示例和可能的关系类型
    • • 青绿色部分用于相关信息
    • • 黑色部分用于输出。
  • 提取模块可能会采用除直接提示之外的各种推理方法。
2.1.1 样本检索

如图(b)下部展示,样本检索模块利用编码器将当前文本转化为嵌入向量。计算训练数据集中样本与当前文本的相似性,以检索与当前文本相似的样本。

例如,对于句子“5月9日,诺贝尔文学奖得主、作家莫言在北京发表了演讲。”,样本检索模块可以从训练数据集中检索出相关样本,如文本“When the newly minted Nobel Prize in Literature, British novelist Kazuo Ishiguro, found himself…”及其对应的关系三元组标签(Kazuo Ishiguro, 获奖, Nobel Prize in Literature)。

提取过程可能被分解为两个阶段:

  • 首先是识别句子中潜在的关系类型
  • 然后基于这些识别出的候选关系类型进行提取

检索候选关系类型的过程在图(b)中以虚线箭头表示。实现这种检索的一种有效方法是开发一个在数据集上训练的分类器,预测给定文本中最可能出现的关系。此外,利用LLMs的推理能力也可以实现检索关系类型的任务。

2.1.2 相关信息检索

如图(b)的上部展示,相关信息检索模块的目的是检索与特定句子相关的知识点。相较于样本检索使用的嵌入检索技术,本模块运用了多元化的检索手段,融合向量与实体,实现精确匹配与模糊语义匹配的有机结合。

以句子“5月9日,诺贝尔文学奖得主、作家莫言在北京发表了演讲。”为例,本模块不仅提取句子的语义信息,还识别出其中的潜在实体,如莫言、诺贝尔奖和北京,并利用这些实体检索相关背景知识。

此外,以诺贝尔奖为起点,还能从标注指南中检索到关于奖项关系类型的详细描述,包括关系两端实体的定义和深入阐释。

相关信息检索模块涵盖提取关键信息或生成嵌入向量的预处理环节,以及多个用于检索输入文本相关资讯的检索器。在预处理阶段,除了文本编码器,还包含一个实体识别器,用于识别输入文本中的所有潜在实体。

采用多种策略从不同数据源中检索相关知识,比如从知识图谱中检索实体的属性和关系,从标注指南中检索关系类型的解释性信息,或是从外部百科全书中检索相关背景知识。记忆模块

2.2 记忆模块

记忆模块负责在提取过程中动态地利用现有知识,并进行反思和总结,更好地完成后续的提取任务。

仿照人脑的记忆机制,模型的记忆被划分为短期记忆和长期记忆。

2.2.1 短期记忆

短期记忆记录了初步的提取经验。

如图©所示,对于句子“博物馆位于莫言的故乡,高密东北乡。”,模型提取的结果是(莫言, 出生地, 高密东北乡)和(博物馆, 位于, 高密东北乡)。其中第一个关系三元组是正确的,但第二个由于博物馆的指代不明确而被标记为错误。短期记忆中,通过记录这些正确与错误的结果,模型便能在后续的提取中将它们作为参考。这个过程相当于从过往经验中汲取教训。具体来说,模型会分别在正确记忆和错误记忆中添加新的条目。

2.2.2 长期记忆

长期记忆涵盖了对过往记忆的深入反思与更新,如图©所示。

在长期记忆中,AgentRE能够基于准确的成果对长期记忆进行刷新,并针对不准确的结果进行深思熟虑。

以图©的示例为鉴,得到正确的提取成果后,AgentRE便将其关于莫言的记忆从“莫言,著名作家,1955年2月17日出生,本名管谟业”更新为“莫言,著名作家,1955年2月17日出生于高密东北乡,本名管谟业”。对于错误的结果,AgentRE则进行反思。比如,面对一个错误的提取成果和相关的标注准则,它会产生反思文本“根据标注准则,不完整的实体,如博物馆,本不应被提取”。因此,当接收到下一个输入文本“以最有影响力的当代作家和学者王先生命名的博物馆……”,AgentRE便能借助先前的反思避免重蹈覆辙。

2.3 提取模块

AgentRE中提取模块借鉴了 ReAct 的互动式方法,通过多轮的思考、行动、观察来推进,如图(d)所描绘。

在此框架下,检索与记忆模块被视作智能体可调用的外部工具。智能体通过一系列API接口,输入工具名称和参数,随后获得反馈结果。这种设计赋予了智能体灵活调用工具、选择工具种类及调用方式的能力。

以图(d)中的句子为例:“5月9日,诺贝尔文学奖得主、作家莫言在北京发表了演讲。”在首回合,智能体识别出可能的关系类型,随后决定调用SearchAnnotation API来获取相关资讯。进入第二轮,智能体运用SearchKG API检索有关莫言的既有知识。最终,在搜集到充分的信息后,智能体执行Finish操作,以产出提取成果。

在提取过程中,AgentRE并非总是遵循一连串完整的ReAct互动。会根据输入文本的复杂度,灵活选择最合适的提取策略。

比如,在直接提取中,预测的关系三元组直接从文本中导出;在分阶段提取中,先筛选关系类型,再进行三元组的提取;或者采用思维链(CoT)提取,最终结果通过逐步推导生成。

2.4 小模型的精炼

在真实场景中,部署具备强大推理能力的LLMs智能体以完成信息提取任务,往往需要高昂的成本。

而相对较小的大型语言模型(SLLMs)在推理能力上通常表现逊色。为了弥补这一鸿沟,作者提出了一种蒸馏学习的方法,通过利用大型模型的历史推理路径来引导小模型的学习。

对不同类型问题采用多样化的推理策略,可以显著增强模型解决问题的适应性。例如:

  • 在关系提取(RE)任务中,文本中明确表述的直接关系可以直接推断并生成结构化输出。
  • 对于那些包含更复杂关系的句子,采用基于思维链(CoT)的推理方法,可以引导模型逐步逼近最终结果,减少错误。

AgentRE推理框架通过智能体有效地为不同情境定制了多样化的推理方法。为了赋予SLLMs相似的能力,并简化推理过程,建议从AgentRE的历史推理路径中提炼出更简洁的推理逻辑,用以指导小模型的学习。

3. 效果评估

3.1 测评数据集

为验证AgentRE的效能,在以下两个数据集进行测试:

  • DuIE:作为规模最大的中文关系抽取数据集,囊括了48类预设关系类型。覆盖了传统简单的关系类型,也涵盖了涉及众多实体的复杂关系类型。该数据集的标注文本源自百度百科、百度信息流及百度贴吧,共包含210,000句样本与450,000个关系实例。
  • SciERC:专为科学领域设计的英文命名实体识别与关系抽取数据集。其标注数据源自Semantic Scholar Corpus,覆盖了500篇科学文章摘要。SciERC数据集共标注了8,089个实体和4,716个关系,平均每篇文档包含9.4个关系。

3.2 测试基准方法

将AgentRE与数种基于LLM的信息抽取模型/框架进行了对比:

  • ChatIE:通过与ChatGPT的对话,提出了一种零次学习IE方法,将零次学习IE视为一种多轮问答过程。先识别潜在的关系类型,再基于这些类型抽取关系三元组。
  • GPT-RE:在少量学习框架内采用任务感知检索模型,并整合CoT自动推理机制,以解决输入-标签映射中的实例相关性和解释问题。
  • CodeKGC:运用Python类来表达关系的框架模式,通过推理依据增强信息抽取的准确性。
  • CodeIE:将IE任务转化为代码形式,借助LLMs的代码推理能力。
  • UIE:引入了一种结构化编码语言,用于文本到结构化输出的生成,适用于T5模型的预训练。
  • USM:一个集结构化与概念能力于一体的统一语义匹配框架,专为信息抽取设计,基于RoBERTa构建。
  • InstructUIE:在Flan-T5上实施基于指令的微调,以提升任务的泛化能力。

ChatIE和CodeKGC运用LLMs进行零次学习,而CodeIE、CodeKGC和GPT-RE则采用少量学习策略。UIE、USM和InstructUIE则采用监督微调(SFT)。GPT-RE还在特定任务上对如text-davinci-003这样的大型模型进行了微调,成本较高。

3.3 测评结果

在这里插入图片描述

实验结果如上图,仅采用F1分数作为评价标准。

对于比较基准模型/框架,尽量引用原始发表数据,或通过复现其公布的模型与源代码来获取结果。

为了确保实验比较的公正性,主要采用同一基础大型语言模型,如gpt-3.5-turbo。对于那些采用不同基础模型的方法,在表格中以斜体字呈现了它们的原始成果,并补充了使用gpt-3.5-turbo作为基础模型所得到的结果。

上表根据三种不同的实验范式划分:

  • 零样本学习(ZFL)
  • 少样本学习(FSL)
  • 有监督的微调(SFT)

在SFT设置下,这些方法大致可分为三类,根据模型参数规模如下:

  • 1)UIE使用的T5-v1.1-large和USM使用的RoBERTa-Large,参数规模分别为0.77B和0.35B。
  • 2)InstructUIE使用的Flan-T5和AgentRE-SFT使用的Llama-2-7b,参数规模分别约为11B和7B。
  • 3)GPT-RE-SFT使用的gpt-3.5-turbo,参数规模约为175B。

在ZSL组中,ChatIE-multi的表现超过了ChatIE-single,说明多轮对话的有效性。AgentRE-ZSL的卓越表现则反映了其在高效利用辅助信息方面的优势。

在FSL组中,CodeKGC-FSL超越了基于对话的ChatIE,而GPT-RE与其表现相匹配,突显了结构化推理和精确样本检索的优势。AgentRE-FSL显著超越了当前最佳模型,展示了其在利用标记数据和辅助信息方面的卓优势

在SFT设置下,对较小模型如UIE和USM进行微调,虽然优于基线模型,但仍不及AgentRE-FSL。AgentRE-SFT在InstructUIE上的表现显著更佳,证明了AgentRE中蒸馏学习的有效性。然而,GPT-RE-SFT在SciERC上取得了最佳性能,尽管由于其庞大的模型规模和基于text-davinci-003的API训练带来了更高的训练成本。

3.4 消融实验

消融实验探究了AgentRE在不同配置下的表现:

  • 缺少检索模块(AgentRE-w/oR)
  • 缺少记忆模块(AgentRE-w/oM)
  • 两者皆无(AgentRE-w/oRM)

在这里插入图片描述

依据上表,AgentRE-w/oRM的性能显著不足,表明这两个模块的关键作用。

AgentRE-w/oR和AgentRE-w/oM相较于AgentRE-w/oRM展现出更好的效果,表明独立引入记忆和检索模块的好处。

完整框架AgentRE整合了这两个模块,达到了最佳表现,证明结合检索能力获取相似样本和利用记忆模块优化先前提取的协同效应。

3.4.1 检索模块分析

影响检索模块效果的主要变量包括用于数据表示和检索的模型,以及检索过程中可用的内容。
在这里插入图片描述

上表结果表明:无论是统计方法还是基于嵌入的方法,都显著优于随机检索。这表明,检索与输入文本更紧密相关的标记样本,对于辅助模型的决策过程、提高其抽取精度具有显著效果。在评估的模型中,BGE在两个数据集上均展现出最好的性能。

检索内容:在为检索模块选定了基础模型之后,进一步探讨不同类型可用信息对检索的影响。
在这里插入图片描述

上表列出了实验结果,其中“None”和“AgentRE-w/oM”分别代表没有和仅有完整检索模块的变体。此外,“-samples”、“-doc”和“-KG”分别表示缺少标记样本检索、注释指南检索和知识图谱检索组件的变体。

结果证实,忽略任何类型的信息都会降低AgentRE的性能,尤其是移除标记样本(-samples)对性能的影响最为显著。

在这里插入图片描述

为探究记忆模块对信息抽取效能的影响,分析了在DuIE数据集上,AgentRE在不同记忆配置下,随着训练样本数量增加的F1、召回率和精确度得分,如上图所示,图中的X轴代表训练样本的数量。对比模型包括不包含记忆模块的AgentRE-w/oM、搭载浅层记忆的AgentRE-wM),以及融合了浅层与深层记忆的AgentRE-wM+。相较于缺乏记忆功能的模型,这些搭载记忆模块的模型能够同时利用输入样本及历史抽取记录。

  • 搭载记忆模块的模型(AgentRE-wM和AgentRE-wM+)在所有评价指标上均优于无记忆模块的版本,凸显了记忆模块在提升抽取精度方面的积极作用。
  • 随着数据量的增加,搭载记忆模块的模型表现更佳,这表明了利用过往抽取经验进行动态学习的有效性。
  • AgentRE-wM+在数据输入增多时相较于AgentRE-wM展现出更卓越的性能,这暗示了一种全面的记忆方法,超越了单纯的个体样本追踪,能够进一步提升抽取效能。

代码请访问:https://github.com/Lightblues/AgentRE
论文地址: https://arxiv.org/pdf/2409.01854

相关文章:

AgentRE:用智能体框架提升知识图谱构建效果,重点是开源!

发布时间:2024 年 09 月 13 日 Agent应用 AgentRE: An Agent-Based Framework for Navigating Complex Information Landscapes in Relation Extraction 在复杂场景中,关系抽取 (RE) 因关系类型多样和实体间关系模糊而挑战重重,影响了传统 “…...

力扣题解2390

大家好,欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述​(中等): 从字符串中移除星号 给你一个包含若干星号 * 的字符串 s 。 在一步操作中,你可以: 选中 s 中的一个星号。 移除星号…...

用Python获取PDF页面的大小、方向和旋转角度

在文档管理和自动化领域,了解PDF文档的内在属性(如页面大小、方向和旋转角度)对于确保一致的文档处理和布局保真度至关重要。这些属性在内容重用、归档以及PDF无缝集成到网络环境或其他数字工作流程中起着关键作用,因为它们直接影…...

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要…...

Flock 明牌空投教程

FLock 旨在为人工智能构建一个去中心化的隐私保护解决方案。FLock提出了一项名为联合学习区块(简称 FLocks)的研究计划,该计划使用区块链作为数据持有者之间的协调平台来进行机器学习,同时数据保持本地和隐私。通过用区块链取代收…...

项目内部调用的远程接口开发

编写一个项目内部调用的远程接口通常是为了在分布式系统或者微服务架构中,实现各个服务之间的通信和数据交换。这样的远程接口专门用于服务之间的调用,而不是直接暴露给外部用户或前端。 项目内部的远程接口统一放在api工程 首先进入api编写接口&#x…...

影响IP代理池稳定性的因素有哪些?

IP代理池在提供网络服务时,稳定性是一项决定性指标。多个外部和内部因素可能会影响这个稳定性,因此深入理解这些影响因素,可以帮助优化IP代理池的性能与服务质量。 1. IP来源质量 纯净度与使用频次:优质的IP来源常常被描述为纯净…...

基于Prometheus和Grafana的现代服务器监控体系构建

构建一个基于 Prometheus 和 Grafana 的现代服务器监控体系涉及多个步骤。以下是大体的流程和步骤说明: 1. Prometheus 监控系统 Prometheus 是一个开源的系统监控和报警工具,专门设计用于抓取时间序列数据。 1.1 Prometheus 的安装 Docker 安装 Prom…...

原生 input 中的 “type=file“ 上传文件

目标&#xff1a;实现文件上传功能 原型图&#xff1a; HTML部分&#xff1a; <div class"invoice-item"><div class"invoice-title">增值税专用发票</div><div class"invoice-box"><el-form-item label"标准…...

【Unity新闻】Unity的产品命名变化

快速回顾一下Unity产品命名的调整。 在2023年 Unity就宣布版本命名的变化&#xff0c;将使用Unity 6作为最新版本的命名。 具体的规则&#xff0c;在论坛里进行了说明。 以后正式的LTS版本就是Unity 6&#xff0c;将在2024年末发布。 而不管是之前的Runtime费还是今天的费用…...

《PostMan(一):配置全局令牌》

文章目录 一、配置全局token1、设置2、添加全局3、添加全局变量名称4、选中全局&#xff0c;并查看5、添加赋值脚本6、配置令牌取值7、即可成功获取用户信息 一、配置全局token 1、设置 2、添加全局 3、添加全局变量名称 4、选中全局&#xff0c;并查看 5、添加赋值脚本 // 把…...

如何理解Configurational entropy

Configurational entropy 是热力学和统计力学中的一个重要概念&#xff0c;它描述的是系统中由于其微观状态排列&#xff08;即配置&#xff09;导致的不确定性或混乱程度。不同于热力学中的热熵&#xff08;thermal entropy&#xff09;&#xff0c;它特指那些与系统中的粒子、…...

H5端接入萤石监控

官方文档 EZOPEN协议 下滑至-平台架构 web/h5端使用文档 <template><div :id"video-container${index}${index2}" class"w-full bg-black"></div> </template><script>export default {data() {return {EZVIZAToken:…...

SSD1306 OLED显示屏驱动方案简介

SSD1306是一种常见的单色OLED(有机发光二极管)显示屏驱动芯片。以下从它的基本特点、工作原理和应用领域进行详细介绍&#xff1a; 一、基本特点 1. 尺寸与分辨率&#xff1a; SSD1306芯片支持多种尺寸的OLED显示屏&#xff0c;常见的有0.96寸、1.3寸等。不同尺寸的屏幕具有不…...

React18快速入门

需要先安装并配置React相关的工具和插件 下载安装Node.js&#xff0c;这里以MacOS Node.js v22.6.0为例 终端命令行检查是否安装成功 node -v npm -vNode.js快速入门 npm设置镜像源 #设置为阿里镜像源 npm config set registry https://registry.npmmirror.com #查看是否生…...

Day11笔记-字典基本使用系统功能字典推导式

二、字典【重点掌握】 1.概念 列表和元组的使用缺点&#xff1a;当存储的数据要动态添加、删除的时候&#xff0c;我们一般使用列表&#xff0c;但是列表有时会遇到一些麻烦,定位元素比较麻烦 # 一个列表/元组保存5个学生的成绩&#xff0c; score_list [66,100,70,78,99] sc…...

Ribbon (WPF)

Ribbon (WPF) 在本文中主要包含以下内容&#xff1a; Ribbon组件和功能应用程序菜单快速访问工具栏增强的工具提示 Ribbon是一个命令栏&#xff0c;它将应用程序的功能组织到应用程序窗口顶部的一系列选项卡中。Ribbon用户界面(UI)增加了特性和功能的可发现性&#xff0c;使用…...

解锁编程潜力,从掌握GitHub开始

目录&#xff1a; 一、搜索开源项目 1、什么是Git 2、Github常用词含义 3、一个完整的项目界面 4、使用Github搜索项目 1&#xff09;in关键词 2&#xff09;star或fork数量去查找 3&#xff09;awesome加强搜索 二、访问速度慢的解决 1、使用网易UU加速器 2、使用…...

HTML转义字符对照表

HTML特殊字符转义对照表一 字符十进制转义字符字符十进制转义字符"&quot;&&amp;<<<&agrave;>>>不断开空格 ?¡¡&Aacute;&aacute;&#226&acirc;&#xffe0;¢¢&circ;&#xffe1;££&…...

【zabbix监控软件(配置及常用键值)】

监控软件–zabbix 同类产品&#xff1a;nagios、cacti 简介&#xff1a;能够部署企业级监控平台。 监控范围 1&#xff09;zabbix SNMP 监控网络设备 防火墙、交换机 2&#xff09;zabbix agent 监控 服务器&#xff1a;raid插槽 CPU 内存插槽 温度 风扇 操作系统&#xff1…...

98、RS485全自动收发电路入坑笔记

因为RS485采用叉分信号&#xff0c;只支持半双工。正常的RS485芯片驱动电路是需要GPIO来切换发送和接收模式。如下图所示&#xff0c;一般的RS485电平转换芯片都有RE/DE脚&#xff0c;用来切换收发模式。 例如这篇推荐&#xff1a;芯片RS485自动收发电路常见问题与应对策略 但…...

单机快速部署开源、免费的分布式任务调度系统——Apache DolphinScheduler

本文主要为大家介绍Apache DolphinScheduler的单机部署方式&#xff0c;方便大家快速体验。 环境准备 需要Java环境&#xff0c;这是一个老生常谈的问题&#xff0c;关于Java环境的安装与配置期望大家都可以熟练掌握。 验证java环境 java -version 下载安装包并解压 使用wg…...

【运维监控】Prometheus+grafana监控zookeeper运行情况

运维监控系列文章入口&#xff1a;【运维监控】系列文章汇总索引 文章目录 一、prometheus二、grafana三、prometheus集成grafana监控zookeeper1、修改zookeeper配置2、修改prometheus配置3、导入grafana模板4、验证 本示例通过zookeeper自带的监控信息暴露出来&#xff0c;然后…...

【C++二分查找】2560. 打家劫舍 IV

本文涉及的基础知识点 C二分查找 LeetCode2560. 打家劫舍 IV 沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。 由于相邻的房屋装有相互连通的防盗系统&#xff0c;所以小偷 不会窃取相邻的房屋 。 小偷的 窃取能力 定义为他在…...

位段、枚举、联合

位段 在一个结构体中以位&#xff08;最小单位&#xff09;为单位来指定其成员所占的内存长度。位段成员名后面有一个冒号&#xff0c;冒号后有一个数字&#xff08;这个数字是小于等于这个成员所占的位&#xff09;。 typedef struct S {char a : 2;//8char b : 8;//8char c …...

golang学习笔记15——golang依赖管理方法

推荐学习文档 golang应用级os框架&#xff0c;欢迎star基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总golang学习笔记01——基本数据类型golang学习笔记02——gin框架及基本原理golang学习笔记03——gin框架的核心数据结构golang学…...

Linux 挂载磁盘与开机自动挂载操作指南

Linux 挂载磁盘与开机自动挂载操作指南 文章目录 Linux 挂载磁盘与开机自动挂载操作指南一 挂载磁盘1 查看硬盘信息2 新增数据盘执行分区3 新建分区4 创建一个主分区5 分区编号6 初始磁柱编号7 截止磁柱编号8 查看新建分区信息9 分区结果写入10 新分区同步操作系统11 设置新分区…...

『功能项目』单例模式框架【37】

我们打开上一篇36C#拓展 - 优化冗余脚本的项目&#xff0c; 本章要做的事情是编写单例模式基类&#xff0c;让继承其基类的子类在运行时只存在一个&#xff0c;共有两个单例基类框架&#xff0c;分别是不继承MonoBehaviour的单例和继承MonoBehaviour的单例框架 首先编写不继承…...

【计算机网络 - 基础问题】每日 3 题(三)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…...

SpringCloud Nacos

**************************** 准备工作 首先准备号nacos的镜像 根据镜像创建nacos容器 nacos:container_name: nacosimage: nacos/nacos-server:v2.1.0-slimports: #需要监听三个端口- "8848:8848"- "9848:9848"- "9849:9849"privileged: tr…...