LLM-Based Agent及其框架学习的学习(三)
文章目录
- 摘要
- Abstract
- 1. 引言
- 2. 推理与规划
- 2.1 推理
- 2.2 规划
- 2.2.1 计划指定
- 2.2.2 计划反思
- 3. 迁移与泛化
- 3.1 未知任务的泛化
- 3.2 情景学习
- 3.3 持续学习
- 4. 学习Crewai和LangGraph
- 4.1 Crewai
- 4.2 LangGraph
- 参考
- 总结
摘要
本文系统阐述了基于大语言模型的智能体在认知架构中的核心能力发展。研究聚焦于推理与规划模块的创新突破,揭示了思维链(CoT)方法通过分步推理生成逻辑依据的增强机制,并对比了分层规划与自适应策略在任务分解中的优劣。规划能力通过"制定-反思"双阶段模型实现动态优化,结合环境反馈与人类交互提升执行精度。在迁移学习方向,文章论证了预训练模型的零样本泛化特性,指出模型规模扩大引发的涌现能力可支持跨领域任务处理,而上下文学习机制通过类比推理显著降低计算成本。针对持续学习中的灾难性遗忘问题,研究提出基于自动课程设计的渐进式技能合成方案,展示了Voyager智能体通过难度梯度任务实现知识累积的实践路径。
Abstract
This paper systematically elaborates on the development of core capabilities of Large Language Model-Based Agents within cognitive architectures. The study focuses on innovative advancements in reasoning and planning modules, highlighting how the Chain-of-Thought (CoT) approach enhances logical inference through step-by-step reasoning. It compares the advantages and disadvantages of hierarchical planning and adaptive strategies in task decomposition. Planning capabilities are dynamically optimized via a two-stage “Formulate-Reflect” model, which integrates environmental feedback and human interaction to improve execution accuracy. In the area of transfer learning, the paper demonstrates the zero-shot generalization capabilities of pretrained models, noting that the emergence of abilities driven by model scaling supports cross-domain task handling. The context learning mechanism significantly reduces computational costs through analogical reasoning. To address the issue of catastrophic forgetting in continual learning, the study proposes a progressive skill composition strategy based on automated curriculum design. It illustrates how the Voyager agent accumulates knowledge through tasks organized by difficulty gradients, offering a practical path toward lifelong learning.
1. 引言
在LLM-Based Agent及其框架学习的学习(二)中探讨了LLM-Based Agent概念框架Brain部分的一些内容——自然语言交互能力和记忆,本文会接着这部分继续探讨Brain部分的推理与规划、迁移与泛化。
2. 推理与规划
2.1 推理
以证据和逻辑为基础的推理是人类智力活动的基础,是解决问题、决策和批判性分析的基石。演绎、归纳和溯因是智力活动中普通认可的主要推理形式。对于基于大语言模型的智能体来说,推理能力对解决复杂任务至关重要。
关于大语言模型的推理能力存在不同的学术观点。一些人认为语言模型在预训练或微调期间具有推理能力,而另一些人则认为它在达到一定规模后才会出现推理能力。具体来说,具有代表性的思维链CoT方法已经被证明可以通过引用大语言模型在输出答案之前生成推理依据来增强大语言模型的推理能力。此外,还有一些其他方法来提升大语言模型的推理能力,如自洽性校验、自我优化、自我修正以及选择性推理等。除此之外,一些研究表明,分步推理的有效性可归因于训练数据的局部统计结构,相较于对所有变量进行训练,变量间局部结构化的依赖关系能带来更高的数据利用效率。
2.2 规划
规划是人类在面对复杂挑战时采用的关键策略。对于人类来说,规划有助于组织思想,设定目标,并确定实现这些目标的步骤。就像人类一样,规划能力对智能体来说也至关重要,而这个规划模块的核心是推理能力。这为LLM-Based Agent提供了结构化的思维过程。通过推理,智能体能将复杂任务分解成更易于管理的子任务,为每个子任务设置合理的计划。此外,随着任务的进展,智能体可以利用自省来修改它们的计划,确保它们更好地与现实世界保持一致,从而使任务顺利执行。
规划包含两个阶段:计划制定和计划反思。
2.2.1 计划指定
在计划制定过程中,智能体通常会将一个总体任务分解成许多子任务,在这一阶段已经提出了各种方法。值得注意的是,一些论文主张LLM-Based Agent一次性分解完问题,随后立即制定完整的计划,然后依次执行计划。与之相反,像CoT系列的其他研究采用了自适应策略,它们一次计划和解决一个子任务,从而在整体处理复杂任务时具有更大的流动性。此外,一些方法强调分层规划,而另一些强调一种策略,在这种策略中,最终的计划是从以树型格式的推理步骤中衍生出来的。后一种方法认为智能体应该在最终确定计划之前评估所有可能的路径。虽然LLM-Based Agent展现出了广泛的知识范围,但它们在处理需要专业知识的情况时偶尔会面临挑战。通过将智能体与特定领域的规划者集成来增强这些智能体已被证明可以产生更好的性能。
2.2.2 计划反思
制定计划后,必须对其优点进行反思和评估。LLM-Based Agent利用内部反馈机制,经常从已有模型中获取见解,以磨练和增强其策略和规划能力。为了更好地与人类的价值观和偏好保持一致,智能体积极地与人类接触,允许它们纠正一些误解,并将这种量身定制的反馈吸收到它们的规划能力中。此外,它们可以从有形或虚拟的环境中获取反馈,比如从任务结果或行动后的观察中获得线索,帮助它们修改和完善计划。
3. 迁移与泛化
智能不应该局限于特定领域或人物,而是包含广泛的认知技能和能力。人类大脑的非凡本质在很大程度上归功于其高度的可塑性和适应性。它可以根据外部刺激和内部需求不断调整其结构和功能,从而适应不同的环境和任务。近年来,大量研究表明,大规模语料库上的预训练模型可以学习通用语言表征。利用预训练模型的力量,只需要少量的数据进行微调,大语言模型就可以在下游任务中表现出优异的性能,而不需要从头开始训练新模型,这节省了大量的计算资源。然而,通过这种针对特定任务的微调,模型缺乏通用性,难以推广到其他任务。不仅仅作为一个静态的知识库,LLM-Based Agent表现出动态学习能力,使他们能够快速和稳健地适应新的任务。
3.1 未知任务的泛化
研究表明,指令调整的大语言模型在不需要特定任务微调的情况下表现零样本泛化能力。随着模型规模和语料库规模的扩大,大语言模型在不熟悉任务中逐渐表现出显著的涌现能力。具体来说,大语言模型可以根据自己的理解,按照指导完成在训练阶段没有遇到的新任务。其中一种实现是多任务学习,例如FLAN在通过指令描述的任务集合上微调语言模型,T0引入了一个统一的框架,将每个语言问题转换为文本到文本的格式。尽管是纯粹的语言模型,GPT-4在各种领域和任务中表现出卓越的能力,包括抽象、理解、视觉、编码、数学、医学、法律、理解人类动机和情感等。值得注意的是,提示中的选择对于适当的预测至关重要,直接在提示上进行训练可以提高模型在泛化到未知任务时的鲁棒性。这种泛化能力可以通过扩大模型规模和训练指令的数量或多样性来进一步增强。
3.2 情景学习
大量研究表明,大语言模型可以通过上下文学习来执行各种复杂任务,上下文学习是指模型从上下文中的几个例子中学习的能力。零样本上下文学习通过将原始输入与几个完整的示例拼接起来作为提示来丰富上下文,从而增强了语言模型的预测性能。上下文学习的关键思想是从类比中学习,这与人类的学习过程类似。此外,由于提示是由自然语言编写的,因此这种交互方式具备可解释性和可调整性,从而更容易将人类知识融入到大语言模型。与监督学习过程不同,上下文学习不涉及微调或参数更新,这可以大大降低使模型适应新任务的计算成本。除了文本,研究人员还探索了不同多模态任务中潜在的上下文学习能力,使智能体能够应用于大规模的现实任务。
3.3 持续学习
近期研究强调了大语言模型的规划能力在促进智能体持续学习方面具有巨大潜力——这种学习过程涉及技能的持续获取与更新。持续学习的一个核心挑战是灾难性遗忘,当一个模型学习新的任务时,它往往会失去以前任务中的知识。针对上述挑战,现有研究主要从三大方向展开探索:引入基于先前模型的常规术语[、近似先验数据分布,以及设计具有任务自适应参数的架构。LLM-Based Agent已经称为一种新的范式,利用大语言模型的规划能力并结合现有技能来解决更复杂的挑战。Voyager智能体通过GPT-4设计的自动课程体系,尝试逐步解决难度递增的任务。通过从更简单的程序中合成复杂的技能,智能体不仅可以快速增强其能力,还可以有效地对抗灾难性遗忘。
4. 学习Crewai和LangGraph
4.1 Crewai
Crewai学习进度指路:CrewAI Community Version(三)——Task
4.2 LangGraph
LangGraph学习进度指路:LangGraph(二)——QuickStart样例中的第二步
参考
Zhiheng Xi, Wenxiang Chen, Xin Guo. and et al. The Rise and Potential of Large Language Model Based Agents: A Survey.
总结
LLM-Based Agent通过整合结构化推理与动态适应能力,展现出接近人类认知范式的智能特征。其核心突破体现在:推理能力的可解释性提升、规划过程的多模态反馈融合,以及迁移学习中的资源效率优化。尤其值得注意的是,基于大语言模型的持续学习框架为解决传统机器学习中的稳定性-可塑性困境提供了新思路。这些发现不仅深化了对智能体认知架构的理论认知,更在机器人控制、决策支持系统等领域展现出广阔应用前景。
相关文章:
LLM-Based Agent及其框架学习的学习(三)
文章目录 摘要Abstract1. 引言2. 推理与规划2.1 推理2.2 规划2.2.1 计划指定2.2.2 计划反思 3. 迁移与泛化3.1 未知任务的泛化3.2 情景学习3.3 持续学习 4. 学习Crewai和LangGraph4.1 Crewai4.2 LangGraph 参考总结 摘要 本文系统阐述了基于大语言模型的智能体在认知架构中的核…...
修复笔记:获取 torch._dynamo 的详细日志信息
一、问题描述 在运行项目时,遇到与 torch._dynamo 相关的报错,并且希望获取更详细的日志信息以便于进一步诊断问题。 二、相关环境变量设置 通过设置环境变量,可以获得更详细的日志信息: set TORCH_LOGSdynamo set TORCHDYNAM…...
阿里云服务器全栈技术指导手册(2025版)
阿里云服务器全栈技术指导手册(2025版) 一、基础配置与核心架构设计 1. 精准实例选型策略 • 通用计算场景:选择ECS通用型(如ecs.g7)实例,搭载第三代Intel Xeon处理器,适合Web应用、中小型数…...
llfc项目笔记客户端TCP
一、整体架构流程图(简洁版) 复制代码 【客户端启动】 |--- 初始化TcpMgr(单例)|--- 连接信号初始化:连接成功、断开、错误、发数据| 【用户操作:登录成功】|--- 触发发起跳转:发起连接(sig_connect_tcp)| 【TcpMgr收到连接请求】|--- 连接到服务器(connectToHost)…...
基于python的task--时间片轮询
目录 前言 utf-8 chinese GB2312 utf-8 排除task.c chinese GB2312 排除task.c 运行结果 前言 建议是把能正常工作的单个功能函数放到一起(就和放while函数里的程序一样),程序会按顺序自动配置。 不同的格式已经对应给出。 utf-8 impo…...
《前端秘籍:SCSS阴影效果全兼容指南》
在前端开发的旅程中,为网页元素添上阴影效果,就像为一幅画作点缀光影,能让页面瞬间生动起来,赋予元素层次感与立体感。可当我们满心欢喜地在SCSS中写下阴影代码,满心期待着在各种浏览器中都呈现出完美效果时࿰…...
强化学习机器人模拟器——RobotApp:一个交互式强化学习模拟器
RobotApp 是一个基于 Python 和 Tkinter 的交互式强化学习(Reinforcement Learning, RL)模拟器,集成了 GridWorld 环境和 QAgent 智能体,支持 Q-learning、SARSA 和 SARSA(λ) 算法。本博客将详细解析 robot_app.py 的功能、架构和使用方法,展示其如何通过直观的 GUI 界面…...
2025-04-26-利用奇异值重构矩阵-美团
2025-04-26-利用奇异值重构矩阵-美团 题目内容 在一家致力于图像处理的科技公司,你被分配到一个新项目,目标是开发一种图像压缩算法,以减少存储空间并加速传输。团队决定使用奇异值分解( S V D SVD SVD)对图像进行降…...
《解锁SCSS算术运算:构建灵动样式的奥秘》
SCSS作为CSS预处理器,算术运算功能犹如一颗璀璨明珠,赋予我们动态计算样式属性值的强大能力,让网页样式不再是一成不变的刻板呈现,而是能够根据各种条件和需求灵动变化。 在SCSS的世界里,算术运算绝非孤立的存在&…...
STM32Cube-FreeRTOS任务管理工具函数-笔记
STM32Cube-FreeRTOS任务管理工具函数-笔记 一、获取任务句柄的函数1. 创建任务并获取句柄2. 获取当前任务句柄3. 获取空闲任务句柄4. 根据任务名称获取句柄 二、单个任务操作相关函数1. 程序在运行时可以获取或改变一个任务的优先级3. 获取任务信息4. 获取任务信息5. 获取任务名…...
【第三十四周】多模态大模型调研
多模态大模型调研 摘要Abstract引言多模态技术的主要方向视觉-语言大模型(Vision-Language Large Models, VLLMs)语音-语言大模型(Speech-Language Large Models, SLLMs)音乐 - 语言大模型(Music-Language Large Model…...
【2025最新】Baichuan-M1-instruct部署教程
首先机器至少要A100、4090、3090 这里选AutoDL的4090D,运行至少要20G显存。这里镜像选基础镜像11.8【更新!!!!!!!!!24G带不动!显存不够】 有时候…...
Unity与Unreal Engine(UE)的深度解析及高级用法
以下是Unity与Unreal Engine(UE)的深度解析及高级用法对比,结合技术特性、行业应用与未来发展进行综合阐述: 一、核心差异与适用场景对比 1. 技术架构与编程模式 Unity 语言与脚本:主要使用C#,语法简洁且易于学习,适合快速原型开发和中小型项目。支持可视化脚本工具(如…...
网络:TCP三次握手、四次挥手
目录 深刻理解三次握手 深刻理解四次挥手 深刻理解三次握手 三次握手时,如果最后一个ACK包,服务器没有收到,此时: 客户端:认为已经建立链接 服务器:认为没有建立链接,还在超时等待。 而此时…...
spdlog自定义formatter
用了之后发现,spdlog的默认日志记录格式为: [2014-10-31 23:46:59.678] [my_loggername] [info] Some message 但是这个格式不是我想要的,怎么办,这个也简单,上面的内容也就是几个标签的组合而已,spdlog自定…...
Spring AI 实战:第四章、Spring AI多模态之看图说话
引言:从"码农"到"多媒体魔术师" “曾经,我们的代码核心擅长处理文本,就像餐厅里只会做炒饭的厨师。现在有了Spring AI多模态支持,我们突然拥有满汉全席的烹饪技巧!” 作为一名常年与String打交道的开发者,当第一次看到Spring AI可以同时处理图片、音…...
ES6入门---第二单元 模块五:模块化
js不支持模块化 注意: 需要放到服务器环境 1、如何定义模块? export 东西 例:1.js文件中 console.log(1模块加载了);//显示是否加载了 export const a 12; export const b 5; export let c 101; const a12; const b5; const c101;ex…...
Python 函数装饰器和闭包(变量作用域规则)
本章内容: Python 如何计算装饰器句法 Python 如何判断变量是不是局部的 闭包存在的原因和工作原理 nonlocal 能解决什么问题 掌握这些基础知识后,我们可以进一步探讨装饰器: 实现行为良好的装饰器 标准库中有用的装饰器 实现一个参数化装饰器…...
什么是constexpr?
什么是constexpr? 简单来说,constexpr就是告诉编译器:“我这个变量或函数的值可以在编译时算出来,请帮我提前算好,运行时直接用结果,不用再算了。” • **传统const**只表示变量不可修改,但不…...
如何在 PowerEdge 服务器上设置 NIC 分组
以下文章提供了有关 Windows、VMware 和 Linux 中的 NIC 分组的信息。 什么是网络适配器分组?设置 NIC 分组 Windows设置 NIC 分组 VMware设置 NIC 分组 Linux 什么是网络适配器分组(绑定)? 网络适配器分组是一个术语࿰…...
ES6入门---第三单元 模块四:Set和WeakSet
set数据结构: 类似数组,但是里面不能有重复值,如果有,只显示一个 set用法: let setArr new Set([a,b]); setArr.add(a); 往setArr里面添加一项 let setArr new Set().add(a).add(b).add(c); setArr.delete(b); 删除一项 setArr.ha…...
架构进阶:75页架构规划方法课件 【附全文阅读】
本文概述了一个关于架构规划方法的目录及其目的,重点介绍了基于联邦企业架构(FEAF)的架构建模方法,并提及了不同层面的架构建模方法以及培训的目的。以下是对该内容的简洁总结: **架构规划方法目录及其目的** 本文旨在…...
前端面经-VUE3篇(三)--vue Router(二)导航守卫、路由元信息、路由懒加载、动态路由
一、导航守卫 vue Router 中的 导航守卫(Navigation Guards) 是一个非常重要的功能,用于在路由切换过程中,拦截、控制、检查或延迟页面跳转。 你可以理解为: 🔐 “进门前的保安”,控制哪些页面…...
RTX-3090 Qwen3-8B Dify RAG环境搭建
RTX-3090 Qwen3-8B Dify RAG环境搭建 一、环境配置二、操作步骤1、创建容器2、下载`Qwen3-8B`和embedding模型3、安装`transformers`4、安装`vllm`5、安装`flash-attention`6、启动兼容OpenAI API的服务1、方案一:启动`vllm`服务【不支持多任务】2、方案二:Flask和PyTorch实现的…...
Circular Plot系列(三):【视频教程】复现NCS图表之高大上的单细胞UMAP环形图
高端复杂的UMAP复现: 这又是一个高大上且炫酷的单细胞UMAP图,展示的信息很多,有大类细胞和亚群,以及marker基因和cell count信息,还可以增加其他的分组信息等等。没错,看这个图就是circlize一层层画的。我们…...
MCP智能体多Agent协作系统设计(Multi-Agent Cooperation)
目录 🚀 MCP智能体多Agent协作系统设计(Multi-Agent Cooperation) 🌟 为什么需要多Agent协作? 🧠 多Agent协作系统架构设计 🛠️ 1. 构建基础智能体基类(Agent Base)…...
栈Stack
一 栈:先进后出 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 Stack<Integer> sta…...
HTML01:HTML基本结构
HTML基本结构 <html> <head><meta charset"UTF-8"><title>我的第一个网页</title> </head> <body>我的第一个网页 </body> </html><body、</body等成对的标签,分别叫开发标签和闭合标签单独…...
QT聊天项目DAY07
1.Win配置和使用GRPC 1.1 克隆GRPC库 克隆GRPC git clone -b v1.34.0 https://gitee.com/mirrors/grpc-framework.git 查看Git有没有安装 没有安装 1.1.1 安装Git https://git-scm.com/ 一路next 添加Git的路径到系统环境变量下 我这次没用管理员权限,并且也没…...
2025年PMP 学习三
4.2制定项目管理计划 4. 项目管理计划 - 内容(输出) 项目目标的制定原因: 3个基准(范围基准、进度基准、成本基准) 子管理计划:范围、需求、进度、成本、质量、资源、沟通、风险、采购等管理计划…...
软考-软件设计师中级备考 10、文件管理、设备管理
一、 文件管理 1、文件目录 文件控制块(FCB):是操作系统为管理文件而设置的数据结构,包含了文件的基本信息(如文件名、文件大小、文件类型等)、存取控制信息(如文件所有者的权限、其他用户的权…...
Linux环境下的进程创建-fork函数的使用, 进程退出exit和_exit的区别,以及进程等待waitpid和status数据的提取方法
目录 一、进程创建 1.fork函数 1)进程调用fork函数是如何创建子进程的 2)代码示范 2.写时拷贝 二、进程退出 1.退出码 1)什么是退出码? 2)为什么要有退出码? 3)退出码是怎么做到的? …...
【数据结构与算法】常见排序算法详解(C++实现)
目录 一、排序的基本概念 二、插入排序 2.1 直接插入排序 2.2 折半插入排序 2.3 希尔排序 三、交换排序 3.1 冒泡排序 3.2 快速排序 四、选择排序 4.1 简单选择排序 4.2 堆排序 五、归并排序 六、基数排序 七、计数排序 结语 一、排序的基本概念 排序 就是重新…...
STM32GPIO输入实战-按键key模板及移植
STM32GPIO输入实战-按键key模板及移植 一,按键模板展示二,按键模板逻辑1,准备工作:头文件与全局变量2,读取硬件状态:key_read_raw()3,核心处理:key_process_simple() 的四行代码 三,…...
LeetCode 1128.等价多米诺骨牌对的数量:计数
【LetMeFly】1128.等价多米诺骨牌对的数量:计数 力扣题目链接:https://leetcode.cn/problems/number-of-equivalent-domino-pairs/ 给你一组多米诺骨牌 dominoes 。 形式上,dominoes[i] [a, b] 与 dominoes[j] [c, d] 等价 当且仅当 (a …...
Spring MVC设计与实现
DispatcherServlet的初始化与请求处理流程 初始化阶段 Servlet 生命周期触发:当 Web 容器(如 Tomcat)启动时,根据注解/配置,DispatcherServlet 的 init() 方法被调用。 初始化 WebApplicationContext 根 WebApplicat…...
日语学习-日语知识点小记-进阶-JLPT-N1阶段(1):语法单词
日语学习-日语知识点小记-进阶-JLPT-N1阶段(1):语法单词 1、前言(1)情况说明(2)工程师的信仰(3)高级语法N1语法和难点一、N1语法学习内容(高级语法ÿ…...
stm32week14
stm32学习 十.GPIO 2.基本结构 基本结构: F1与其它的的最大区别是上下拉电阻的位置 施密特触发器是一种整形电路,可以将非标准方波,整形成方波 图中MOS管的输出规则: 3.8中工作模式 ①输入浮空: 上下拉电阻均不工…...
WPF中Binding
绑定ViewModel中的数据 添加数据上下文 方法一:在XAML中添加 <Window.DataContext><local:MainWindowViewModel /> </Window.DataContext>方法二:在界面层的cs文件中添加 this.DataContext new MainWindowViewModel();绑定 publ…...
Google Agent space时代,浅谈Agent2Agent (A2A) 协议和挑战!
如果说去年Google Cloud大会大家还在数“AI”这个词被提了多少次,那么今年,绝对是“Agent”的主场!开发者主题演讲几乎被它“刷屏”,展区的许多 Demo 也都号称是 Agent 应用。 但我得诚实地说,大会现场关于 Agents 的 …...
爬虫的应用
在自然语言处理(NLP)领域,文本数据的预处理是至关重要的基础环节。它如同工匠雕琢璞玉前的打磨工作,直接影响后续模型分析与挖掘的效果。本文将基于 Python,以电商平台的差评和优质评价文本数据为例,详细展…...
力扣面试150题--相同的树
Day 41 题目描述 做法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right…...
Java后端开发day40--异常File
(以下内容全部来自上述课程) 异常 异常:异常就是代表程序出现的问题 1. 异常的分类 1.1 Error 代表的是系统级别的错误(属于严重问题) 系统一旦出现问题,sun公司会把这些错误封装成Error对象。 Error…...
集成算法学习
集成算法通过组合多个弱学习器提升模型性能,以下是核心内容详解: 一、核心思想 - 组合优势:结合多个简单模型(如决策树),通过“少数服从多数”或“加权平均”等策略,降低方差、偏差或过拟合风险…...
工业认知智能:从数据分析到知识创造
工业认知智能:从数据分析到知识创造 引言 当前制造业面临的知识管理困境令人震惊:68%的工艺知识存储于老员工头脑中,30%的企业因知识传承断层导致质量事故。麦肯锡研究显示,应用认知智能技术的企业,其工艺创新速度提升3-5倍。本文将系统阐述工业认知智能的"感知-理…...
8.1 Python+Docker+企业微信集成实战:自动化报告生成与CI/CD部署全攻略
Python+Docker+企业微信集成实战:自动化报告生成与CI/CD部署全攻略 关键词:PDF报告生成, Word文档自动化, 企业微信集成, Docker容器化, CI/CD流水线 1. 多格式报告生成实战 通过扩展报告输出格式,满足不同用户的文档需求。我们使用Python生态的成熟库实现PDF/Word生成,并…...
25.5.4数据结构|哈夫曼树 学习笔记
知识点前言 一、搞清楚概念 ●权:___________ ●带权路径长度:__________ WPL所有的叶子结点的权值*路径长度之和 ●前缀编码:____________ 二、构造哈夫曼树 n个带权值的结点,构造哈夫曼树算法: 1、转化成n棵树组成的…...
统计学中的p值是什么?怎么使用?
李升伟 整理 在统计学中,p值(p-value)是帮助研究者判断假设检验结果是否具有统计显著性的重要指标。以下是关于p值的详细解释和使用方法: 1. p值的定义 p值表示在原假设(H0)为真的情况下,观察…...
22:一维码与二维码区别
一维码(条形码) 一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。 条码是由一组规则排列的条…...
Java学习手册:SQL 优化技巧
一、SQL 查询优化 选择合适的索引列 :索引可以显著提高查询速度,但需要选择合适的列来创建索引。通常,对于频繁作为查询条件的列、连接操作的列以及排序或分组操作的列,应该考虑创建索引。例如,在一个订单表中…...