Mind Map:大语言模型中的知识图谱提示激发思维图10.1+10.2+10.7

news2024/12/23 20:36:11

知识图谱提示激发思维图

  • 摘要
  • 介绍
  • 相关工作
  • 方法
    • 第一步:证据图挖掘
    • 第二步:证据图聚合
    • 第三步:LLM Mind Map推理
  • 实验
    • 实验设置
    • 医学问答
    • 长对话问题
    • 使用KG的部分知识生成
    • 深入分析
  • 总结

在这里插入图片描述

摘要

LLM通常在吸收新知识的能力、generation of hallucination 以及决策过程的透明度方面有局限性。

“generation of hallucination”(幻觉生成)
可以指代使用计算机模型或算法生成虚假的感知或幻觉。这是指通过对输入数据进行处理和转换,模型可以生成看起来像是真实幻觉的信息。
大语言模型如GPT-3是基于机器学习技术的,通过从大量文本数据中学习语言模式和上下文来生成文本回复。尽管它可以生成合理的、连贯的回答,但它并不具备真实的感知能力,也不会产生真实的幻觉。

本文讨论了如何用知识图谱提示LLM,作为一种补救措施,让LLM掌握最新知识,并结合内隐知识和检索的外部知识进行推理。此外,还研究了从LLM中引出推理路径。具体来说,建立了一个提示管道,使LLM能够理解KG的输入,并结合内隐知识和检索的外部知识进行推理。此外,还研究了引出mind map,LLM在此基础上进行推理并生成答案。
研究表明,生成的mind map展示了基于知识本体论的LLM推理路径,从而为LLM推理在生成中的预测和衡量带来了前景。

实验基于三个问题&答案集,也展示了mind map提示带来了惊人的经验收益。还证明了通过从KG中检索结构化事实,Mind Map可以优于一系列文档检索方法的提示,受益于KG更准确、简洁和全面的知识。

介绍

将LLM扩展到十亿个参数和万亿个单词,在各种任务中都能获得令人惊讶的表现。预训练的LLM可以通过微调适应领域任务,或者在结构调整中与人类偏好保持一致。尽管如此,LLM存在以下缺陷:

  1. 灵活性:
    预训练的LLM知识过时,对参数的更新不灵活。因为收集高质量的指令数据和构建训练管道成本可能高昂,或者持续微调LLM会带来灾难性遗忘的风险,微调LLM可能很棘手。

  2. hallucination:
    LLM会产生看起来合理但是输出错误的污染。

  3. 透明度:
    LLM因其黑盒性质缺乏透明度收到批评。知识隐含地存储在LLM的参数中,因此不可能进行验证。此外,深度神经网络中的参考过程难以捉摸,无法解释。

知识图谱是构建大规模结构知识库的经典方法,由三个实体和关系构成{head,relation,tail}。KG可以提供明确的知识表示和可解释的推理路径。此外,KG还可以不断修改,以调整现有知识或添加新知识。由于其灵活性、精确性和可解释性,KG成为LLM缺点的一种很好的补充。例如,将KG三元组添加到LLM的训练中,或者将KG编码器与LLM的层进行交织,以进行联合推理和优化。相比之下,本文工作集中在KG和固定大语言模型的协同推理上,适用于功能强大的预训练大语言模型。一般来说,这个领域的现有技术可以分为以下两种类型:

  1. 检索强化 LLM推断:
    研究人员试图检索文档以增强LLM推断,同时又面临检索不准确和文档冗长的问题。最近,有几次尝试将提取的KG三元组合并到LLM的提示中,以回答与KG相关的问题。然而,这种方法将KG输入视为纯文本,并忽略其图形结构,这导致生成的响应很难验证,并且容易产生幻觉。

  2. 使用LLM进行图形挖掘:
    也有人试图促使LLM理解图形输入,而他们主要试验图形挖掘任务,例如 边缘检测和图摘要 。在需要基于KGs的多个证据图进行复杂推理的文本生成任务中,很少对其进行探索。

Edge detection and graph summarization 是指图像处理和计算机视觉领域中的两个关键任务。
Edge Detection(边缘检测):边缘检测是指在图像中寻找物体边界或区域之间的边缘。边缘通常表示了颜色、亮度或纹理等属性的突变。边缘检测算法可以通过识别图像中的边缘来提取图像的结构和形状信息,为后续的图像分割、物体识别、目标跟踪等任务提供基础。
Graph Summarization(图摘要):图摘要是指对图数据进行简化和概括的过程,以减少图的复杂性并提取出重要的结构信息。图摘要的目标是保留图的关键特征和属性,同时减少图的规模和复杂度。

这项工作的目标是建立一种即插即用的提示方法,以激发LLM中的思维图推理能力。将该方法为Mind Map,因为它使LLM能够理解图形输入,从而构建自己的mind map,支持基于证据的生成。该框架的概念演示如图2所示。

在这里插入图片描述

具体来说,Mind Map激发了LLM的思维图:
(1)整合从KGs中检索到的事实和LLM中的隐含知识,
(2)在输入KGs中发现新模式,
(3)在MindMap上推理以获得最终输出。

在三个数据集上进行了实验,以表明MindMap在很大程度上优于其他一系列尝试方法。这项工作主要研究LLM如何学会与KG进行协同推理,将内隐和外显知识相结合,形成透明可靠的干预。

相关工作

提示工程
“预训练、提示、预测”范式已经成为少量或零样本方式进行自然语言处理的最佳方式。核心是LLM能够通过上下文内学习适应输入上下文和指令后的新任务,尤其是指令调整和对齐检索增强生成是为LLM推理提供额外证据的一种动态方式。通常做法是查询密集数据库,找到输入用户问题的相关文档,然后将检索到的语料库放回提示输入。然而,文档可能很长,因此不符合LLM的上下文限制。而且,及时可以构建长文档做为提示,LLM通常无法在提示中间捕获信息并会产生幻觉。另一条研究路线旨在提示引发LLM在链和树中间的推理步骤,尽管如此,本文的工作还是探索了在图输入上激发LLM的推理,重点是与内隐和外显知识的联合推理。
知识图谱强化LLM
研究人员探索使用KG来增强LLM主要在以下两个方向上:
(1)将KG合并到LLM预训练
(2)将KG注入LLM推断过程

对于(1),通过将KG实体和关系加入训练数据中,来设计 知识感知训练目标(knowledge-aware training objective) 是一种常见的做法,或应用KG检测任务(例如链接预测)作为附加监督。然而,当阿静预先收集的数据扩展到具有三个单词的网络规模语料库时,难以找到或创建具有近似规模的KG。跟重要的是,尽管这些方法通过监督将KG知识直接压缩到LLM的参数中。它们并没有减轻LM在可修复性、可靠性和透明度方面的基本限制。

knowledge-aware training objective知识感知的训练目标
训练目标是指在训练模型时所使用的目标函数或损失函数,用于度量模型的性能和指导参数更新。而"knowledge-aware training objective" 强调了在训练过程中对知识的感知和利用。
知识感知的训练目标旨在让模型在学习过程中更好地理解和利用领域知识、外部知识或先验知识。这些知识可以来自知识图谱、百科全书、领域专家等。通过将知识纳入训练目标,模型可以更好地从知识中获得指导和约束,使其具备更全面、准确的推理能力。

对于(2),早期的工作围绕通过 注意力机制 将KG三元组融合到LLM的输入中,或图编码器 附加到LLM编码器上以处理KG输入 。后续研究进一步采用了与LLM并行的图神经网络进行联合推理,并在LLM的中间层添加了文本标记和KG实体之间的交互。看到最近预训练LLM的成功,研究范式正在转向用图形输入来提示固定的预训练LLM。这一行的重新搜索包括提示KG实体链接前缀的LLM、图形挖掘和KG问答。虽然这些方法允许LLM理解图形属兔,但它们要么专门针对KG任务,要么回忆检索到的事实并将其翻译为纯文本而忽略了KG的结构。

注意力机制
是一种用于加强模型对输入中不同部分的关注程度的机制。通过计算查询与每个键之间的相似度,然后将相似度转化为注意力权重。这些权重用于加权求和值,生成加权表示,其中权重越高的位置或单词对于当前查询的影响越大。

图编码器
是一种用于处理图形数据的神经网络模块。它的作用是将图结构中的节点和边转化为连续的向量表示,以便进行下游任务的学习和推理。图编码器的目标是学习节点和边的表示,以捕捉它们之间的关联和语义信息。
常用的图编码器模型有:图卷积网络、图注意力网络、图神经网络

当处理包含自然语言和知识图谱的输入时,首先LLM编码器会对自然语言文本进行编码和表示学习,提取文本的语义和上下文信息。然后,图编码器会对知识图谱进行编码,将实体和关系转化为连续的向量表示,以捕捉实体之间的关联个语义信息。接下来,将LLM编码器的输出和图编码器的输出进行融合。常见方法是使用注意力机制,将图编码器的输出与LLM编码器的输出进行加权融合,以便根据文本内容和知识图谱的重要性来动态调整它们之间的关注程度。最后,融合后的表示将用于下游任务,例如问答系统、文本推理等。

方法

MindMap框架如图3所示,包括三个主要组件:

  1. 证据图挖掘:首先从原始输入中识别实体集 V q V_q Vq,并查询源KG构建多个 证据子图(evidence sub-graphs) G q G_q Gq
  2. 证据图聚合:接下来,提示LLM来理解并聚合检索到的证据子图,以构建 推理图(reasoning graph) G m G_m Gm
  3. 在mind map上的LLM推理:最后,提示LLM以整合所构建的推理图及其隐含知识来生成答案,并构建解释推理过程的 mind map

在这里插入图片描述

第一步:证据图挖掘

从外部KG中发现相关证据的子图,分为两个主要步骤:
实体识别:首先通过上下文学习提示LLM从问题查询Q中提取关键实体。构建了一组样例{ Q k , M k {Q_k,M_k} Qk,Mk} k K _k^K kK,其中都由一对输入句子 O k O_k Ok和相应的实体集 M k M_k Mk组成。将示例(exemplars)作为上下文(context)添加到候选查询Q之前,并要求LLM生成实体集M。由于提取的实体M可能不都属于G中的实体集,所以需要进一步执行实体链接。具体来说,用 BERT编码器 将G中和M内的所有实体分别编码为 稠密嵌入(dense embedding) H G H_G HG H M H_M HM。将M中的每个实体与G中与其最近的相邻实体通过比较它们的余弦相似性联系起来。

BERT(Bidirectional Encoder Representations from Transformers)编码器是一种基于Transformer架构的预训练语言模型。
BERT编码器的核心思想是通过在大规模文本语料上进行无监督的预训练,学习到通用的语言表示。这些学习到的表示可以在各种下游任务上进行微调,以提高模型在特定任务上的性能。

"Dense embedding"稠密嵌入
是指在自然语言处理中,将离散的词或标记映射为连续、高维的实值向量表示的技术。稠密嵌入(dense embedding)使用低维连续向量表示单词,其中每个维度都包含一定的语义信息。通过将单词映射到连续向量空间中的特定位置,稠密嵌入可以捕捉到单词之间的语义相似性,相似的单词在嵌入空间中会更加接近。这样的表示能够更好地表达词汇之间的语义关系和上下文信息。常用的稠密嵌入方法包括Word2Vec、GloVe和BERT等。这些方法通过在大规模文本语料上进行训练,学习到单词之间的分布式表示。在嵌入空间中,词汇相似度可以通过计算向量之间的距离或相似度度量来衡量。

证据子图探索
通过在这里插入图片描述定义源知识图谱,其中在这里插入图片描述代表了实体集、关系集和文本集。本阶段的目标是基于抽取的实体 V q V_q Vq建立证据子图在这里插入图片描述
一个证据子图被定义为在这里插入图片描述,其中 V q V_q Vq是节点集, E q E_q Eq是边集,其中每一条边都有在这里插入图片描述

通过基于路径和基于邻居的探索来探索源KG,以构建证据子图的过程如图4所示。

在这里插入图片描述
基于路径的证据图探索 通过追踪Vq中的实体在G中的中间路径来连接它们:
(a)选择 V q 0 V^0_q Vq0中的一个节点作为上的起始节点 v 1 v_1 v1。将剩余节点放置在候选节点集中Vcand。探索从 v 1 v_1 v1到下一个节点 v 2 v_2 v2的k跳,其中v2 属于 Vcand。如果在k跳内成功到达 v 2 v_2 v2,则将起始节点更新为 v 2 v_2 v2,并从Vcand中删除 v 2 v_2 v2。如果在k个跳中找不到 v 2 v_2 v2,则连接到目前为止获得的路径段,并将其存储在 G q p a t h G^{path}_q Gqpath中。然后从Vcand中选择另一个节点 v 1 ′ v'_1 v1作为新的开始节点,并从Vcand中移除 v 1 v_1 v1 v 2 v_2 v2
(b)检查Vcand是否为空。如果它不为空,则迭代(a)以查找路径的下一段。如果它为空,则连接所有段以构建一组子图,并将它们放入 G q p a t h G^{path}_q Gqpath中。

基于邻居的证据图探索目的是将更多与查询相关的证据纳入Gq。分为两步:
(a)通过1跳到它们的邻居节点{v’}来扩展每个节点v∈Vq,以将三元组{( v , e , v ′ v,e,v' v,e,v)}添加到Gneiq
(b)检查每个v’是否在语义上与该问题相关。如果相关,进一步扩展v’的一跳邻居,在Gneiq中添加三元组( v n e i , e ′ , v ′ v_{nei},e',v' vneiev)。

还将用桥梁路径中所有新添加的中间节点更新Vq。经过探索对Gpathq和Gneiq进行了调整,以减少头上的信息,同时保持多样性:
(a)按照它们的头实体对所有子图进行聚类,在探索之前从原始查询中提取并填充Vq
(b)检查每个聚类,如果图的数量超过预定义的阈值,则随机抽样。

通过合并剩下的子图,我们可以获得最终的证据图Gq

第二步:证据图聚合

在这一步骤中,提示LLM来将不同的证据子图Gq聚合到合并的推理图Gm中,以便为步骤3中的输出生成带来所有证据子图的全局视图。

添加了结构来提示LLM用自然语言描述每个证据子图G*q的结构指令。生成证据路径集Gq={cq(1),cq(2),…,cq(n)},其中每个c*q表示一个结构路径,例如“(疲劳,恶心)- 表示 -肝脏问题”。分别对所有基于路径的子图Gpathq和所有基于邻居的子图Gneiq进行提示,生成推理图Gm={Gpathm,Gneim}。这种设计提示有两个优点:
(1)LLM采用了小子图的整体视图,将它们浓缩成统一简洁的格式;
(2)LLM有助于消除自然语言中相似实体的歧义。

第三步:LLM Mind Map推理

在这一步骤中,LLM会被合并的两个证据图Gpathm,Gneim提示以产生最终输出。
图推理的提示
为了触发LLM生成mind map并找到最终结果,本文提供了一个由五个组件组成的prompt:系统指令、问题、证据图Gm、Graph-of-Thought指令和模板。具体来说,Graph-of-thought指令要求LLM在(a)理解输入的证据图,(b)建立自己的推理mind map,以及(C)用证据图建立的基础时,一步一步地思考以产生最终结果。

附录D的表8中提供了使用的提示模板。最后的计划是在思维导图上提供详细的图形推理路径,其中图形中的每个实体都以输入证据图Gm为基础,如图3中的右框所示。

LLM和KG知识的协同推理
先前的检索增强了LLM倾向于重新表述检索到的事实,而忽略了LLM本身的知识。然而,Mind Map鼓励LLM在自己的知识范围内丰富检索到的证据图,从而实现协同推理。据推测LLM是通过(1)语言理解实现的,因为LLM可以理解并从自然语言描述的Gm中提取知识边缘;(2)知识推理,因为LLM在产生基于Gm构建的Mind Map的最终答案时利用了其隐含的边缘知识。如图2所示,LLM可以识别连接现有节点和文本图信息的新链接,从而启用graph-of-thought并产生新的见解。

实验

针对一系列需要复杂推理和领域知识的问题&答案任务,并将其与基于检索的基线进行比较。

实验设置

实验设计三个数据集:
(1)GenMedGPT-5k
(2)CMCQA
(3)ExplainCPE
这些数据集的统计数据如表1所示。
附录A中描述了数据管理过程。
此外,建立了两个KG,EMCKG和CMCKG,以支持KG增强方法。

选择普通的GPT-3.5和GPT-4作为仅使用隐含知识进行推断的基线。然后添加了三个检索增强基线:BM25检索器、Text Enbed ding检索器和KG检索器。

医学问答

使用GenMedGPT-5k测试LLM如何处理医学领域的问题回答,LLM需要回答疾病诊断、药物推荐和测试建议。
评估指标
使用BERTScore和GPT-4评分来定量评估所有方法的性能。BERTScore可以测量生成的答案与参考答案之间的语义相似性。

还利用GPT-4来理解答案:
(1)以基本事实为参考,对所有方法的答案质量进行排名;
(2)在四个轴上对两种选择方法的答案进行配对比较:反应多样性和完整性、总体情况的正确性、疾病诊断的正确性以及用药建议的正确性。
结果
表2给出了BERIScore和GPT-4的排名分数。
可以看出,所有方法都会产生类似的BERTScore,其中Mind Map显示出比其他方法的边缘改进,这意味着所有方法都产生了与真实答案相似的答案。这可能是由于所有反应的语气相似,与临床医生常用的语言相似,但BERTSCore只测量整体语义的相似性。然而,我们发现,当按GPT-4排名时,Mind Map比其他方法有明显的进步,平均排名为1.8725。相比之下,(vanilla baseline)香草基线GPT-3.5和GPT-4的答案最差,分别排名4.85和4.17。主要原因是回答医学问题需要对领域知识进行全面的探索和理解,而在GPT模型的实例知识中进行推理可能会导致看似合理但错误的答案。相比之下,本文方法对外部KG进行了彻底的探索,并提供了基于证据的答案。

从更精细的方面深入探讨这些方法的配对比较。结果如表3所示。可以观察到,与其他基线相比,Mind Map产生了全面优异的性能。与简单的知识基线相比,Mind Map在四个方面的平均得分分别为88.21%和82.97%。这进一步强调了引入外部知识以减轻LLM幻觉的重要性。此外,还发现Mind Map在很大程度上优于其他基于检索的方法。KG Retriever(KG检索器) 基线从与MindMap相同的KG中检索事实是不值得的。尽管如此,Mind Map的优势在于KG知识和简化LLM知识的协同推理,以及对KG来源的全面探索,从而产生准确多样的答案。然而,其他检索器基线存在检索不准确、知识库探索不足或输入过长的问题。

长对话问题

在CMCQA数据集上进行了实验,其中,长对话需要更复杂的推理来涵盖答案所需的所有事实。ChatGPT-4的排名结果如表4所示。其中MindMap的排名仍然优于大多数基线,但是与KG检索器相似。表5进一步说明了成对获胜率结果,其中MindMap在GPT-4判断中始终优于基线。具体来说,与公认的GenMedGPT-5K相比,MindMap方法与基线之间差距缩小了。这是因为所使用的KG没有涵盖回答CMCQA中问题所需的所有事实。

在这里插入图片描述
在这里插入图片描述

尽管如此,MindMap仍然优于所有基于检索的数据库,包括KG检索器。据推测,以前的基于检索的方法倾向于只根据检索到的外部知识进行推断来回答问题,然而,这种简单的提示策略破坏了LLM利用其隐含知识理解复杂逻辑和复杂对话的能力。相反,MindMap在图推理过程中结合了外部知识和内部知识,从而从两者中获得更准确的答案。

使用KG的部分知识生成

研究了MindMap在仅从部分涵盖explainCPE中回答问题所需知识的KG检索时的性能。至关重要的是,LLM需要通过结合其隐含知识和检索知识来得出答案,这在生产中很常见。

评估指标
根据生成的选择的准确性和生成的解释的质量来评估所有方法。为了评估解释质量,还使用了BERTScore和GPT-4排名。具体来说,我们要求GPT-4评分器优先考虑解释的正确性,而不是帮助性或完整性。

结果
在这里插入图片描述

表6中显示了所有方法的准确性。发现MindMap比大多数基线都获得了更好的准确性,这进一步验证了MindMap相对于文档检索提示方法的优越性。还发现,简单地将检索到的知识放入程序有时会破坏答案的质量。因为KG检索器和BM25检索器的性能都比普通GPT-3.5模型差。通过检查错误的答案,发现检索到的事实只能部分回答问题,因为使用的外部知识库和问题之间不匹配。这一发现将LLM的显式和隐式知识相结合,以实现具有鲁棒性的推理。还发现,GP1-4比GPT-3.5+MindMap更好。据推测,从国家执业药剂师考试中提取的试题在GPT-4的预训练语料库中,并存储在GPT-4的内部记忆中。

对指令提示的设计进行了消融分析。删除明确指示LLM“与您现有的知识相结合”的提示P1可将模型的性能提高8.2%。此外,表7表明MindMap在生成答案的理由方面表现出色,在GPT-4中排名2.98。
在这里插入图片描述

深入分析

MindMap进一步对案例进行了深入分析,重点讨论了以下几个方面。

Mind Map如何对不匹配的事实保持健壮性?
附录E中图5中的解释充分问题包含多个症状事实,其中一些具有误导性。在这个方案中,某些事实,例如“我眼睛里的黄疸”,在检索相关证据时提供了不正确的信息。例如,文档检索器等基线模型在搜索证据时检索到与“眼睛”相关的知识,导致无法获得正确的疾病。推荐的药物和测试也与肝脏疾病无关。相比之下,我们的模型MindMap准确地将这种疾病识别为“肝硬化”,并建议进行适当的测试,即“血液测试”,证明了其健壮性。
在这里插入图片描述

MindMap如何聚合考虑实体语义的证据图?
如图6所示
在这里插入图片描述
类似“阴道炎”和“萎缩性阴道炎”在不同的证据子图中出现,但它们在本质上是相同的。MindMap使LLM能够消除歧义,并合并相同的证据图进行推理。h-nal思维导图输出还将实体定位到输入证据图。此外,图6显示了GPT-4评分者对所有方法的总体事实正确性和疾病诊断事实正确性的偏好。对于所有事实正确性来说,GPT-4评分器指出,MindMap提供了更具体的疾病诊断结果,而基线只给出了模糊的提及,缺乏治疗选择。为了疾病诊断的事实正确性,GPT-4评分器认为MindMap的诊断更符合常规。

MindMap如何可视化推理过程和证据来源?
图7展示了一个对CMCQA的完整的答案。输出由三个部分组成:摘要、推理过程和MindMap。摘要从MindMap中提取了正确和具体的结果,推理过程显示了从证据图Gm上提取的实体开始的多个推理链。MindMap将所有的推理链同一到推理图中。它提供了对每个推理步骤中涉及的知识连接以及证据查询子图的原始来源的直观理解。
在这里插入图片描述
MindMap如何利用LLM知识执行各种任务?
图8展示了MindMap在不同类型问题上的表现。
问题(a)和(d)是与药品有关的问题,需要深入的知识。在这些任务中,MindMap比其他方法显示出明显的优势。问题(b)和(f)是疾病知识的问题。在这些案例下,这种检索方法获得了与MindMap相当的结果,表明了外部知识的结合缓解了LLM的幻觉。最重要的观察来自问题(c),该问题设计一般知识。这种情况下,想GPT-3.5这样的LLM模型表现更好,而检索方法表现较差。这表明,检索方法在一定程度上忽略了LLM所学到的知识。相反,MindMap在处理一般知识问题方面的表现与GPT-3.5相当。这表明MindMap有效的将LLM本身的知识与KG知识协同用于推理目的。

总结

本文介绍了知识图谱的提示:
(1)赋予LLM理解KG输入的能力
(2)利用复杂的知识和检索到的外部知识结合用来促进LLM的推理
(3)研究了启发MindMap,LLM执行推理,并生成具有图中表示的原理来生成答案。通过在三个Q&A数据集上进行广泛的实验,展示了MindMap方法与普通LLM和检索增强生成方法相比有更为显著的时机效果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

软件测试/测试开发丨送福利AI大模型应用开发实训营来啦~ 文末领大模型学习资料

点此获取更多相关资料 因为 AIGC 持续火热,越来越多的企业都需要借助大模型来为自己的业务赋能,也就是产出适合自己公司业务情况的智能化产品,这是目前程序员必须要面对的难题和挑战。如果要在企业内部落地相关引用,就需要员工具…

国泰君安期货:基于分布式架构的智能推送系统,满足单日亿级消息处理量

中国期货市场正经历着从量变到质变、加速提档的过程。近五年来,新增期权期货交易品种过百个,国际化品种大幅增加,市场交易规模迅速扩大。2022 年期货行业单边成交量约 70 亿手,为 2018 年的 2.5 倍,占全球总成交量的 8…

想要开发一款游戏, 需要注意什么?

开发一款游戏是一个复杂而令人兴奋的过程。游戏开发是指创建、设计、制作和发布电子游戏的过程。它涵盖了从最初的概念和创意阶段到最终的游戏发布和维护阶段的各个方面。 以下是一些需要注意的关键事项: 游戏概念和目标: 确定游戏开发的核心概念和目标…

Python WebSocket自动化测试:构建高效接口测试框架!

为了更高效地进行WebSocket接口的自动化测试,我们可以搭建一个专门的测试框架。本文将介绍如何使用Python构建一个高效的WebSocket接口测试框架,并重点关注以下四个方面的内容:运行测试文件封装、报告和日志的封装、数据驱动测试以及测试用例…

数据结构题型14-二叉树的遍历

文章目录 1、先序遍历2、中序遍历3、后序遍历5、非递归遍历5、层次遍历 参考博客: 二叉树遍历方法——前、中、后序遍历(图解) 1、先序遍历 2、中序遍历 3、后序遍历 5、非递归遍历 5、层次遍历

练[FBCTF2019]RCEService

[FBCTF2019]RCEService 文章目录 [FBCTF2019]RCEService掌握知识解题思路关键paylaod 掌握知识 ​ json字符串格式,命令失效(修改环境变量)–绝对路径使用linux命令,%0a绕过preg_match函数,代码审计 解题思路 打开题目链接,发现…

二维码智慧门牌管理系统:让城市管理更高效、更便捷

文章目录 前言一、二维码智慧门牌管理系统的特点二、二维码智慧门牌管理系统的应用三、二维码智慧门牌管理系统的开发解决方案 前言 随着城市化进程的加速,城市管理面临着越来越多的挑战。其中,门牌号码的管理问题一直困扰着城市管理部门。为了解决这个…

【排序算法】堆排序详解与实现

一、堆排序的思想 堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是通过堆(若不清楚什么是堆,可以看我前面的文章,有详细阐述)来进行选择数据&am…

投票礼物打赏流量主小程序开发

投票礼物打赏流量主小程序开发 投票功能:用户可以参与投票,选择自己支持的候选人或选项。礼物功能:用户可以给候选人或其他用户送礼物,以表示赞赏或支持。打赏功能:用户可以给候选人或其他用户打赏,以表示…

Transformer预测 | Pytorch实现基于Transformer的时间序列预测(含单步与多步实验)

文章目录 效果一览文章概述模型描述程序设计单步实验多步实验参考资料效果一览 文章概述 Transformer预测 | Pytorch实现基于Transformer的时间序列预测(含单步与多步实验) Transformer-singlestep.py 包含单步预测模型 Transformer-multistep.py 包含多步预测模型 这是单步预…

【kubernetes的三种网络】

kubernetes的三种网络 一、三种网络service网络(service是虚拟IP地址)pod网络(pod的IP地址 docker容器的IP)节点网络(网络服务器上的物理网卡IP) 二、其他网络flannel一、vxlan(隧道方案)1.定义2.优势3.工作…

软件定制开发的细节|网站搭建|APP小程序定制

软件定制开发的细节|网站搭建|APP小程序定制 在定制开发的过程中,一些小的细节往往能够影响到最终的产品质量和用户体验。下面我将为大家介绍一些软件定制开发的细节。 第一,明确需求。在定制开发之前,我们需要明确客户的需求和目标。只有明确…

C语言中常用的字符串处理函数(strlen、strcpy、strcat、strcmp)

文章目录 写在前面1. strlen1.1 函数介绍1.2 模拟实现 2. strcpy2.1 函数介绍2.2 模拟实现 3. strcat3.1 函数介绍3.2 模拟实现 4. strcmp4.1 函数介绍4.2 模拟实现 写在前面 本篇文章介绍了C语言中常用的字符串处理函数,包括strlen、strcpy、strcat和strcmp。文章…

Redis集群方案-主从复制-哨兵模式-分片集群

Redis集群方案 主从复制全量同步增量同步(slave重启或者后期数据变化) 哨兵模式服务状态监控哨兵选主规则 分片集群哈希槽 主从复制 单节点的Redis的并发能力是有上线的,要进一步提高redis的并发能力,就需要搭建主从集群&#xff…

第一节:vue3 配置路由

1.安装router插件npm install vue-router4或者yarn add vue-router4 2.新建router文件夹以及router里边的index.js:里边主要配置路由 import {createRouter,createWebHashHistory} from vue-router // 1.新的页面导入进来 import Home from ../view/Home.vue impor…

使用华为eNSP组网试验⑹-组建基于BGP的网络

BGP(Border Gateway Protocol -- 边界网关协议)是一种在自治系统之间动态交换路由信息、具有丰富的路由控制机制、稳定而安全的路由协议路由协议,一般部署在骨干(主要、核心)路由器。 BGP适用于大中型网络的组建,在很多企业当中都有应用。 一般情况下&am…

2023年化妆品级珠光材料随化妆品需求增加推动产品需求量[图]

珠光材料是通过特定工艺方法,在天然云母或人工合成等基材表面包覆一层或多层金属氧化物而制得的一种材料。在化妆品领域,珠光颜料常用于口红、眼影、指甲油、粉饼等化妆品的制造,以产品的闪亮度和吸引力,使其更加美观。 化妆品级…

java CPU 或者内存 异常排查

java CPU 或者内存 异常排查 提示:需要基础环境和配置上java-home CPU 或者内存 异常排查 java CPU 或者内存 异常排查前言一、java文件上传(Test.java)二、转换为class三、执行命令,启动文件四、使用top命令查看五、下载文件&…

【MATLAB源码-第44期】基于matlab的2*2MIMO-LDPC系统的误码率仿真。

操作环境: MATLAB 2022a 1、算法描述 2x2 MIMO(多输入多输出)和LDPC(低密度奇偶校验码)编码是在通信系统中常用的技术,它们通常用于提高无线通信系统的性能和可靠性。 1. 2x2 MIMO: 2x2 MIMO…