AI智体的分级:从基于规则到基于LLM

摘要:

AI智体被定义为感知环境、做出决策和采取行动的人工实体。受SAE(汽车工程师学会)自动驾驶6个级别的启发,AI智体也根据效用和强度进行分类,分为以下几个级别:L0——无AI,有工具(有感知)加动作;L1——使用基于规则的人工智能;L2——基于规则的人工智能被基于IL/RL的人工智能取代,并进行额外的推理和决策;L3—基于L2,应用基于LLM的AI而不是基于IL/RL的AI,另外设置记忆和反思;L4——基于L3,促进自主学习和泛化;L5——在L4的基础上,附加个性(情感+性格)和协作行为(多智体)。

1 引言

任何能够感知环境并执行动作的实体都可以被视为智体。智体可以分为五种类型:简单反射智体、基于模型的反射智体、基于目标的智体、基于效用的智体和学习智体[1]。

随着人工智能的发展,“智体”一词被用来描述表现出智能行为并拥有自主性、反应性、主动性和社交互动等能力的实体。20世纪50年代,艾伦·图灵提出了著名的图灵测试[2]。它是人工智能的基石,旨在探索机器是否能够表现出与人类相媲美的智能行为。这些人工智能实体通常被称为“智体”,建立人工智能系统的基本构建块。

基础模型 [3] 在 NLP 中已经最为牢固。在技术层面上,基础模型是通过迁移学习和规模化来实现的。迁移学习的想法是将从一项任务中学到的“知识”应用到另一项任务中。基础模型通常遵循这样的范式:模型在代理任务上进行预训练,然后通过微调适应感兴趣的下游任务。

最近出现的大多数大规模语言模型(LLM)[4]都属于或基于基础模型。由于其最近展现出的卓越能力,LLM被认为是人工智能对通用人工智能(AGI)的潜在渗透,为构建通用人工智能智体带来了希望。

AI智体主要指能够使用传感器感知周围环境、做出决策并使用执行器采取行动的人工实体[5]。根据 World Scope (WS) [6] 的概念,通过涵盖从 NLP 到通用 AI 的 5 个级别(即语料库、互联网、感知、具身和社交)来审核 NLP 的进展,纯基于LLM的智体是仅建立在书面互联网世界的第二层上。

除此之外,LLM在知识捕获、指令解释、泛化、规划和推理方面证明了卓越的能力,同时展示了与人类的自然语言交互。从这个状态来看,LLM辅助智体具有扩大的感知空间和行动空间,有潜力达到WS的第三和第四级,即分别为感知人工智能和具身人工智能。

此外,这些基于LLM的智体可以通过协作或博弈来处理更困难的任务,并且可以发现社会现象,实现WS的第五层,即社交世界。

在第2节中,简要回顾了LLM;第 3 节详细阐述了各种人工智能智体;第 4 节中分析和定义了 AI 智体的级别;最后一节给出结论。

2 LLM

LLM [4] 是基于 Transformer 的语言模型的一类,其特点是具有大量参数,通常数量达到数千亿甚至更多。这些模型在大量文本数据集上进行训练,使它们能够理解自然语言并主要通过文本生成和理解来执行各种复杂的任务。一些著名的LLM示例包括 GPT-3/4、PaLM、Claude1/2/3、OPT 和 LLaMA1/2/3。

广泛的研究表明,扩展可以很大程度上提高LLM的模型能力。因此,建立一种定量方法来表征规模化效应是有用的。Transformer 语言模型有两种具有代表性的规模化法则:一种来自 OpenAI[7],另一种来自 Google DeepMind[8]。

“预训练+微调”过程被另一个称为“预训练+提示+预测”的过程所取代[9]。在这种范式中,下游任务不是通过目标工程使预训练的 LM 适应下游任务,而是重新制定下游任务,使其看起来更像在文本提示的帮助下在原始 LM 训练期间解决的任务。

这样,通过选择适当的提示,可以操纵模型行为,以便预训练的 LM 本身可以用于预测所需的输出,有时甚至不需要任何额外的特定任务训练。提示工程 [10] 的工作原理是找到最合适的提示,让 LM 解决手头的任务。

LLM的涌现能力是其区别于小型语言模型的最重要特征之一。具体来说,上下文学习(ICL)[11]、指令遵循[12]和思维链推理(CoT)[13]是LLM三种典型的涌现能力。

参数高效微调(PEFT)[14] 是一项关键技术,用于使预训练语言模型(LLM)适应专门的下游应用程序。PEFT 可分为基于添加、基于选择/规范或基于重参数化的方法。它只需要微调一小部分参数,方便边缘设备,并且可以有效缓解灾难性遗忘问题。

由于LLM经过训练来捕获预训练语料库的数据特征(包括高质量和低质量数据),因此它们很可能会产生对人类有毒、有偏见甚至有害的内容。有必要使LLM与人类价值观保持一致,例如乐于助人、诚实和无害。来自人类反馈的强化学习(RLHF)[15]已成为微调LLM系统以更紧密地符合人类偏好的关键策略。

受LLM潜力的启发,人们提出了多模态大语言模型(MLLM)[16],将LLM扩展到多模态领域,即感知图像/视频输入,并与用户进行多轮对话。而视觉-语言模型经过大量图像/视频文本对的预训练,只能处理图像级任务,例如图像字幕和问题回答。

多模态 LLM 以强大的预训练 LLM 权重为基础,旨在处理文本以外的多种类型输入。多模态LLM已广泛应用于各种任务,例如图像理解、视频理解、医学诊断和具身人工智能等。

人们认为LLM拥有类人的智能和常识,可以保留更接近通用人工智能(AGI)领域的潜力。LLM的出现可能是,知识驱动智体感知环境并积累知识的里程碑[17-27]。

3 AI智体

AI智体能够根据其训练和输入数据来理解、预测和响应。虽然这些功能得到了开发和改进,但重要的是,要了解它们的局限性以及它们所训练的基础数据的影响。AI智体系统有一些能力:1)感知和预测建模。2)规划和决策。3)自我学习、持续改进;4)执行与交互;5)个人化和协作。

具身智能/人工智能的目标是构建智体,例如机器人,它们学习解决需要智体与环境之间交互的任务。

对于AI智体来说,学习动作(例如强化学习)的有效方法是通过与环境的交互来进行试错体验。在物理环境中进行训练通常是不可行的,因此使用模拟器来学习策略是一种常见的方法。

符号人工智能[17-18]应用逻辑规则和符号表示来封装知识并促进推理过程,其中关键问题是转换和表示/推理。一个典型的例子是基于知识的专家系统。象征性主体面临着不确定性和大规模问题的局限性。它们主要依赖于固定的算法或规则集,在它们专门设计的任务中表现良好。然而,在面对 OOD(分布外)任务时,他们往往很难进行泛化和推理。

基于强化学习的智体[19-24]通过与环境的交互进行基于累积奖励的学习来训练,以处理更困难的任务。一个例子是带有 Q-learning的 AlphaGo。尽管如此,强化学习的问题是训练时间长、样本效率低和稳定性问题,尤其是在现实环境中。

知识智体可以隐式或显式地利用知识。LLM通常封装隐性知识,而显性知识则被结构化和查询以生成响应。隐性知识和显性知识的结合使AI智体能够像人类智能一样根据上下文应用知识。

基于LLM的智体[25-35]采用LLM作为大脑或控制器的主要组成部分,并通过多模态感知和工具利用等策略扩展其感知和行动空间。他们可以通过思维链 (CoT) 和任务分解等技术实现推理和规划能力。

LLM给人工智能智体设计带来了重大变化。这些LLM智体不仅精通自然语言的理解和生成,而且还擅长泛化。这种能力可以轻松地与各种工具集成,从而增强其多功能性。另一方面,LLM的涌现能力显示出推理方面的优势。

具有预训练知识的LLM智体即使没有接受特定任务的训练,也很容易制定决策策略。另一方面,强化学习智体通常需要在未见过的情况下从头开始训练,利用交互来学习。

基于LLM的智体可以彼此交互,从而引发社会现象的出现。在基于LLM的多智体系统(MAS)中,智体参与协作、竞争或分层平台来执行任务。这些任务可以从搜索和优化、决策、资源分配到协作控制开始。

智体之间的关系决定了智体之间的交互和合作状态。情感推理和同理心是智体在许多人机交互中的重要技能。

4 AI智体的分级

基于能力的宽度(泛化)和深度(性能),[28]给出了对 AGI 进行分类的矩阵方法,如下表 1 所示。
在这里插入图片描述

性能评估在给定任务中 AGI 与人类水平性能的比较情况。 泛化性衡量人工智能达到目标性能阈值的任务范围。 性能和/或泛化性水平之间的进展速率可以是非线性的。

个人 LLM 智体 [35] 所需的功能需要不同类型的功能。受SAE(汽车工程师学会)给出的自动驾驶六级的启发,个人LLM智体的智能等级分为L1至L5共5个级别。每个级别的关键特征和代表性用例列于下表2中。
在这里插入图片描述

4.1 工具(包括感知 + 动作)

各种外部工具支持智体更丰富的动作能力,包括API、知识库、视觉编码模型和语言模型,使智体能够适应环境变化,提供交互和反馈,甚至影响环境。该工具的执行可以反映智体的复杂需求并增强其决策的可信度。

动作模块的目标是将智体的决策转化为具体的结果。它与环境交互并获取反馈,决定智体实现任务的有效性。人类对环境反馈的有效性可以使智体验证其行动结果。

动作可以有感知模块、低级运动规划器和控制器,特别是在机器人和自动驾驶领域。特别是,感知模块,就像人类的感觉系统,即眼睛和耳朵一样,感知环境的变化,然后将多模态信息转换为智体的统一表示。

如果智体配备了记忆模块,回忆可以作为一种行动策略,使智体能够根据存储在记忆模块中的经验做出决策。

智体可以利用多轮来确定适当的响应作为操作,特别是用于对话目的的聊天智体。

动作的后果可能包括环境的变化、内部智体状态的变化、新动作的启动以及对人与智体交互场景中人类感知的影响。

4.2 推理和决策

推理对于人类智能至关重要,是解决问题、决策或规划以及批判性分析的基础。演绎、归纳和溯因是推理的主要形式。

传统的推理主要依赖于符号方法或基于模仿/强化学习的方法。但据观察,这些方法有几个缺点。符号方法需要将自然语言描述的问题转化为规则,这可能需要人工帮助。大多数情况下,这种类型的方法对错误很敏感。模仿学习(IL)和强化学习(RL)方法通常与深度神经模型结合,作为策略网络、价值函数或奖励模型。虽然 RL 方法需要大量样本(与环境的交互),但 IL 算法很难处理看不见的场景。

对于基于 LLM 的智体来说,就像人类一样,推理对于解决复杂任务至关重要。它们可能在预训练或微调期间具有推理能力,或者在达到一定规模后出现。

思维链(CoT)是LLM推理中的代表方法,通过提示中的少量语言示例逐步解决复杂的推理问题。通过将复杂的任务分解为可执行的子任务,LLM制定规划和决策的能力得到显着提高。

CoT 的扩展包括思维树 (ToT) 和思维图 (GoT),假设人类倾向于以树状或图状方式思考。多路径思想进一步使智体能够解决更复杂的规划任务。

推理是通过规划或决策进行的。规划模块使基于 LLM 的智体能够在有或没有反馈的情况下推理和规划解决任务。与调用 Dijkstra 和 POMDP 等规划方法来获得环境中最佳动作和规划的传统智体不同,基于 RL 的智体需要学习策略。基于LLM的智体从LLM中认识到他们的规划能力。此外,LLM在意图理解和其他方面显示出巨大的潜力。

基于LLM的智体可能无法通过提示获得正确的知识,甚至面临幻觉问题。专业工具使LLM能够提高他们的专业知识并适应领域知识。基于LLM智体的决策过程缺乏透明度,在高风险领域可靠性较差。此外,LLM不能容忍对抗性攻击。

定制预训练模型的威力,只需少量数据进行微调,LLM 就可以在下游任务中表现出更强的性能。基于LLM的智体不仅仅充当固定知识库,而是展示了稳健适应新任务的学习能力。经过指令调整的 LLM 无需微调即可实现零样本泛化。LLM可以按照指令执行训练阶段未发生的新任务。

少样本上下文学习(ICL)通过将原始输入与少量样本相结合作为增强上下文的提示,从而提升了LLM的预测性能。

为了模拟人类在反馈体验方面的能力,可以设计规划模块来接收来自环境、人类和模型的反馈,从而提高基于LLM智体的规划能力。外部反馈作为规划成功或失败的直接评价,构建闭环规划。

4.3 记忆和反思

记忆模块在人工智能智体中起着至关重要的作用。它存储从环境感知中提取的信息,并应用存储的记忆来促进未来的行动。记忆模块可以帮助智体积累经验、自我学习,并以更合理、更有效的方式行动。

短期记忆以符号形式保存相关信息,保证其在决策过程中的可访问性。长期记忆积累早期决策过程的经验,包括历史事件流、用户和智体之间的交互信息或智体经验的其他形成。

反思模块旨在使智体能够压缩和导出更高级的信息,或自主检验和验证其行为。它帮助智体解释属性、偏好、目标和联系,进而监督他们的行为。其表现形式有多种:(1)自我总结。(2)自我验证。(3)自我纠错。(4)同理心。

智体在LLM的协助下,利用内部反馈机制,通常会从现有模型中获得见解,以完善和增强规划方法。他们可以从真实或虚拟环境中获得反馈,例如任务完成或行动响应的线索,帮助他们修改和完善策略。

4.4 泛化和自主学习

少样本上下文学习(ICL)通过将原始输入与多个样本连接起来作为提示,使上下文变得更强,从而提高了LLM的预测,其关键思想类似于人类的学习过程。

指令微调的LLM展示了零样本泛化,无需对特定任务进行微调。提示对于合理的预测至关重要,直接根据提示进行训练可以增强模型对未见过任务的鲁棒性。通过扩大模型大小和训练指令的多样性可以进一步提高泛化水平。

智体需要将用户在上下文中学到的工具使用技能推广到新情况,例如将在雅虎搜索上训练的模型转移到谷歌搜索上。

如果给出指令和演示,基于 LLM 智体还能够通过生成可执行程序、将当前工具集成到更强大的工具中来构建工具,或者它们可以学习执行自我调试。

PaLM-E 显示了对新目标或现有目标组合的零样本或单样本泛化能力。Voyager利用技能库组件不断收集新的自我验证技能,支持AI智体的终身学习能力。

基于LLM的智体利用LLM的规划能力,结合现有技能,通过持续学习(例如课程学习)来应对更复杂的挑战,以应对灾难性遗忘等挑战。

4.5 个性(情感+性格)+协作行为(多智体)

正如人类个性通过社会化产生一样,智体也通过与他人和环境的互动来表现出一种个性形式。人格的定义涉及三个特征:认知、情感和性格。

认知能力通常被定义为获取知识的心理过程,例如决策或规划以及解决问题。情绪包括主观情绪,例如愤怒或喜悦。基于LLM的智体包括对情绪的详细理解。

人格的狭义概念属于性格模式。LLM的提示工程涉及字符模式或其他属性的浓缩摘要。通过接触个性丰富的数据集,基于LLM的智体具备个性描绘。

在社交环境中,AI智体应该与其他代理智体甚至人类合作或竞争,以提高性能。AI智体可能会被提供复杂的协作任务或交互环境。

集体智慧是一个将意见集中到决策中的过程。它来自于智体之间的协作和竞争,出现在基于共识的决策模式中。通过利用智体社会内的通信,可以模拟人类社会的进化并获得洞察力。

4.6 AI智体分级

基于以上阐述,给出一个AI智体分级如下表3所示:
在这里插入图片描述

5 结论

在本文中,AI智体的级别根据效用和强度进行分类,类似于 SAE 的自动驾驶自动化级别。对于每个级别,对上一个级别的附加模块可以提供更强大的AI功能和智体能力。从L0到L3,AI核的发展是从无AI,发展到基于规则的AI,基于IL/RL的AI,再到基于LLM的AI。L4和L5则是提供更多的AI功能。

参考文献

[1] S J Russell and P Norvig. Artificial Intelligence: A Modern Approach (4th Edition). Pearson Education, 2010.
[2] Turing, A. M. Computing machinery and intelligence. Springer, 2009.
[3] R Bommasani et al., On the Opportunities and Risks of Foundation Models, arXiv 2108.07258, 2021
[4] W X Zhao, K Zhou, J Li, et al., A Survey of Large Language Models, arXiv 2303.18223, 2023
[5] Wooldridge, M. J., N. R. Jennings. Intelligent agents: theory and practice. Knowl. Eng. Rev., 10(2):115–152, 1995.
[6] Bisk, Y., A. Holtzman, J. Thomason, et al. Experience grounds language, arXiv 2004.10151, 2020.
[7] J Kaplan et al., Scaling Laws for Neural Language Models, arXiv 2001.08361, 2020
[8] J Hoffmann et al., Training Compute-Optimal Large Language Model (scaling law), arXiv 2203.15556, 2022
[9] P Liu et al., Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing, ACM Computing Surveys, 55(9), Jan., 2023
[10] B Chen, Z Zhang, N Langrene, S Zhu, Unleashing the potential of prompt engineering in Large Language Models: a comprehensive review, arXiv 2310.14735, 2023
[11] Q Dong et al., A Survey on In-context Learning, arXiv 2301.00234, 2023
[12] S Zhang et al., Instruction Tuning for Large Language Models: A Survey , arXiv 2308.10792, 2023
[13] Z Chu et al., A Survey of Chain of Thought Reasoning: Advances, Frontiers and Future, arXiv 2309.15402, 2023
[14] V Lialin, V Deshpande, A Rumshisky, Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning, arXiv 2303.15647, 2023
[15] T Shen et al., Large Language Model Alignment: A Survey, arXiv 2309.15025, 2023
[16] C Li et al., Multimodal Foundation Models: From Specialists to General-Purpose Assistants (review), arXiv 2309.10020, 2023
[17] Newell, A., H. A. Simon. Computer science as empirical inquiry: Symbols and search. Commun. ACM, 19(3):113–126, 1976
[18] Wilkins, D. E. Practical planning - extending the classical AI planning paradigm. Morgan Kaufmann series in representation and reasoning. Morgan Kaufmann, 1988
[19] Ribeiro, C. Reinforcement learning agents. Artificial intelligence review, 17:223–250, 2002
[20] Li, Y. Deep reinforcement learning: An overview. arXiv 1701.07274, 2017
[21] Silver, D., A. Huang, C. J. Maddison, et al. Mastering the game of GO with deep neural networks and tree search. Nature, 529(7587): 484–489, 2016
[22] Mnih, V., K. Kavukcuoglu, D. Silver, et al. Playing Atari with deep reinforcement learning. arXiv 1312.5602, 2013
[23] Zhu, Z., K. Lin, J. Zhou. Transfer learning in deep reinforcement learning: A survey. arXiv 2009.07888, 2020
[24] Vanschoren, J. Meta-learning: A survey. arXiv 1810.03548, 2018
[25] L Wang et al., A Survey on Large Language Model based Autonomous Agents, arXiv 2308.11432, 2023
[26] Z Xi, W Chen, X Guo, et al., The Rise and Potential of Large Language Model Based Agents: A Survey, arXiv 2309.07864, 2023
[27] P Zhao, Z Jin, N Cheng, An In-depth Survey of Large Language Model-based Artificial Intelligence Agents, arXiv2309.14365, 2023
[28] M R Morris, J Sohl-dickstein, N Fiedel, et al., Levels of AGI: Operationalizing Progress on the Path to AGI, arXiv 2311.02462, 2023
[29] Z Zhang, Y Yao, A Zhang, et al., Igniting Language Intelligence: The Hitchhiker’s Guide From Chain-of-Thought Reasoning to Language Agents, arXiv 2311.11797, 2023
[30] X Li, Y Bai, P Chai et al., Towards Knowledge-driven Autonomous Driving, arXiv 2312.04316, 2023
[31] C Gao, X Lan, N Li, et al., Large Language Models Empowered Agent-based Modeling and Simulation: A Survey and Perspectives, arXiv 2312.11970, 2023
[32] K Yang, J Liu, J Wu, et al., If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code Empowers Large Language Models to Serve as Intelligent Agents, arXiv 2401.00812, 2024
[33] Y Cheng, C Zhang, Z Zhang, et al., Exploring large language model based intelligent agents: definitions, methods, and prospects, arXiv 2401.03428, 2024
[34] Z Durante, Q Huang, N Wake, et al., Agent AI: surveying the horizons of multimodal interaction, arXiv 2401.03568, 2024
[35] Y Li, H Wen, W Wang, et al., Personal LLM agents: insights and survey about the capability, efficiency and security, arXiv, 2401.05459, 2024

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

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

相关文章

【C++】stack、queue和priority_queue的模拟实现

在本篇博客中,作者将会讲解STL中的stack、queue和priority_queue的模拟实现,同时还会带大家了解一下deque这个容器。 一.什么是适配器 STL中一共有6大组件:容器,适配器,空间配置器,仿函数,迭代器…

【码银送书第十九期】《图算法:行业应用与实践》

作者:嬴图团队 01 前言 在当今工业领域,图思维方式与图数据技术的应用日益广泛,成为图数据探索、挖掘与应用的坚实基础。本文旨在分享嬴图团队在算法实践应用中的宝贵经验与深刻思考,不仅促进业界爱好者之间的交流,…

RabbitMQ 是如何做延迟消息的 ?——Java全栈知识(15)

RabbitMQ 是如何做延迟消息的 ? 1、什么是死信? 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter): 消费者使用 basic.reject 或 basic.nack 声明消费失败,并且消息的 reque…

2.4Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3-基础-Vue组件

初识Vue组件 Vue中的组件是页面中的一部分,通过层层拼装,最终形成了一个完整的组件。这也是目前前端最流行的开发方 式。下面是Vue3官方给出的一张图,通过图片能清楚的了解到什么是Vue中的组件。 图的左边是一个网页,网页分为了…

ECS弹性云服务器居然这么好用。

引言 在过去的十年里,云计算从一个前沿概念发展为企业和开发者的必备工具。传统的计算模型通常局限于单一的、物理的位置和有限的资源,而云计算则通过分布式的资源和服务,为计算能力带来了前所未有的"弹性"。 云弹性服务器——为什…

AAA、RADIUS、TACACS、Diameter协议介绍

准备软考高级时碰到的一个概念,于是搜集网络资源整理得出此文。 概述 AAA是Authentication、Authorization、Accounting的缩写简称,即认证、授权、记帐。Cisco开发的一个提供网络安全的系统。AAA协议决定哪些用户能够访问服务,以及用户能够…

精品干货 | 数据中台与数据仓库建设(免费下载)

【1】关注本公众号,转发当前文章到微信朋友圈 【2】私信发送 数据中台与数据仓库建设 【3】获取本方案PDF下载链接,直接下载即可。 如需下载本方案PPT/WORD原格式,请加入微信扫描以下方案驿站知识星球,获取上万份PPT/WORD解决方…

PPO 学习笔记

用PPO算法求解整个神经网络在迭代过程中的梯度问题 每走一步就会得到一个新的状态,把这个状态传到网络里面,会得到一个 action,执行这个 action 又会到达一个新状态 policy 中由状态 st 生成动作 at,生成的这个 at 是由整个网络的…

什么是X电容和Y电容?

先补充个知识: 一、什么是差模信号和共模信号 差模信号:大小相等,方向相反的交流信号;双端输入时,两个信号的相位相差180度 共模信号:大小相等。方向相同。双端输入时,两个信号相同。 二、安规…

Redis探索之旅(基础)

目录 今日良言:满怀憧憬,阔步向前 一、基础命令 1.1 通用命令 1.2 五大基本类型的命令 1.2.1 String 1.2.2 Hash 1.2.3 List 1.2.4 Set 1.2.5 Zset 二、过期策略以及单线程模型 2.1 过期策略 2.2 单线程模型 2.3 Redis 效率为什么这么高 三…

cmake进阶:文件操作

一. 简介 前面几篇文章学习了 cmake的文件操作,写文件,读文件。文章如下: cmake进阶:文件操作之写文件-CSDN博客 cmake进阶:文件操作之读文件-CSDN博客 本文继续学习文件操作。主要学习 文件重命名,删…

python爬虫(一)之 抓取极氪网站汽车文章

极氪汽车文章爬虫 闲来没事,将极氪网站的汽车文章吃干抹尽,全部抓取到本地,还是有点小小的难度。不能抓取太快,太快容易被封禁IP,不过就算被封了问题也不大,大不了重启路由器,然后你的IP里面又…

文件夹加密软件哪个好?文件夹加密软件排行榜

许多人给小编说,我们公司想实现文件私自发出呈乱码状态,这说明公司逐渐认识到文件加密的重要性。 目前,加密软件已经广泛应用于企业办公、商业贸易、个人应用等多个领域,成为保护数据安全和隐私的重要手段。 为了保护企业机密&am…

OpenNJet评测,探寻云原生之美

在信息时代的大海上,云原生应用引擎如一艘航行于波涛之间的帆船,承载着创新的梦想和数字化的未来。本文将带领您登上这艘船,聚焦其中之一的OpenNJet,一同探寻其中的奥秘和精妙,领略其独特之美。 OpenNJet 内容浅析 O…

智慧工地)智慧工地标准化方案(107页)

2.2 设计思路 对于某某智慧工地管理系统的建设,绝不是对各个子系统进行简单堆砌,而是在满足各子系统功能的基础上,寻求内部各子系统之间、与外部其它智能化系统之间的完美结合。系统主要依托于智慧工地管理平台,来实现对众多子系统…

OpenNJet应用引擎——云原生时代的Web服务新选择

文章目录 OpenNJet应用引擎——云原生时代的Web服务新选择引言:数字化转型的推动力:OpenNJet应用引擎为什么选择OpenNJet? OpenNJet的核心优势1. 云原生功能增强2. 安全加固3. 代码重构与性能优化4. 动态加载机制5. 多样化的产品形态6. 易于集…

Python测试框架Pytest的参数化详解

上篇博文介绍过,Pytest是目前比较成熟功能齐全的测试框架,使用率肯定也不断攀升。 在实际工作中,许多测试用例都是类似的重复,一个个写最后代码会显得很冗余。这里,我们来了解一下pytest.mark.parametrize装饰器&…

后端接口返回二进制数据流,前端如何将其转换成对应的excel、csv和json文件格式并下载

本文主要是介绍在工作中遇到的后端接口返回一个二进制数据流,前端在界面上创建下载按钮并下载成对应格式的文件导出。 downloadData({start: startTime,end: endTime,exportType: 0, // 0-excel, 1-csv, 2-json }).then((res) > {download(res, startTime, endTi…

毕业设计:《基于 Prometheus 和 ELK 的基础平台监控系统设计与实现》

前言 《基于 Prometheus 和 ELK 的基础平台监控系统设计与实现》,这是我在本科阶段的毕业设计,通过引入 Prometheus 和 ELK 架构实现企业对指标与日志的全方位监控。并且基于云原生,使用容器化持续集成部署的开发方式,通过 Sprin…

通信系列:通信中如何度量消息中所包含的信息量?如何评估通信系统的性能?

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、通信中如何度量消息…