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

LangChain大模型应用开发介绍

LangChain大模型应用开发介绍

    LangChain是一个开源的Python Al应用开发框架,它提供了构建基于大模型的AI应用所需的模块和工具。通过LangChain, 开发者可以轻松地与大模型(LLM)集成,完成文本生成、问答、翻译、对话等任务。LangChain降低了AI应用开发的门槛,让任何人都可以基于LLM构建属于自己的创意应用。

LangChain特性

LLM和Prompt:大模型和提示词。LangChain对所有LLM大模型进行了API抽象,统一了大模型访问API,同时提供了Prompt提示模板管理机制。
Chain: 链。Langchain对一些常见的场景封装了一些现成的模块,例如:基于上下文信息的问答系统,自然语言生成SQL查询等等,因为实现这些任务的过程就像工作流一样,一步一步的执行,所以叫链(Chain)。
LangChain Expression Language:简称LCEL。langchain新版本的核心特性,用于解决工作流编排问题,通过LCEL表达式,我们可以灵活的自定义AI任务处理流程,也就是灵活自定义链(Chain)。
RAG:Retrieval Augmented Generation检索增强生成。因为大模型(LLM)不了解新的信息,无法回答新的问题,所以我们可以将新的信息导入到LLM,用于增强LLM生成内容的质量,这种模式叫做RAG模式(Retrieval Augmented Generation)。
Agents:智能体。是一种基于大模型(LLM)的应用设计模式,利用LLM的自然语言理解和推理能力(LLM作为大脑),根据用户的需求自动调用外部系统、设备共同去完成任务。例如:用户输入“明天需要请假一天”,大模型(LLM)会自动调用请假系统,发起一个请假申请。
Memory:模型记忆。让大模型(LLM)记住之前的对话内容,这种能力成为模型记忆(Memory)。

LangChain架构组成

image

LangChain框架由几个部分组成,包括:

LangChain库:Python和JavaScript库。包含接口和集成多种组件的运行时基础,以及现成的链和代理的实现。
LangChain模板:Langchain官方提供的一些 AI 任务模板。
LangServe:基于FastAPI可以将Langchain定义的链(Chain),发布成为REST API。
LangSmith:开发平台,是个云服务,支持Langchain debug、任务监控。


LangChain库(Libraries)

LangChain框架由多个开源库组成。

langchain-core:聊天模型及其他组件的基础抽象概念。
集成包(例如langchain-openai、langchain-anthropic等):重要的集成功能已被拆分到轻量级的软件包中,这些软件包由LangChain团队和负责集成的开发人员共同维护。
langchain:由链、智能体以及检索策略组成,它们构成了应用程序的认知架构。
langchain-community:由社区维护的第三方集成功能。
langgraph:编排框架,用于将LangChain的各个组件组合成具备持久性、流式传输及其他关键特性的、可投入生产环境的应用程序。


LangChain任务处理流程

image

如上图展示了LangChain的Model I/O流程。先通过提示词模板(如 “Does {x} like {y}, and why?” 这种形式)对输入(x = "foo", y = "bar" )进行格式化处理形成具体提示词 “Does foo like bar, and why?” ,接着传递给大模型(LLM 或 Chat Model),最后将大模型返回的文本结果解析成结构化数据(如 {"likes": True, "reason": "Because ..."} )。

LangChain对大模型的封装主要包括LLM和Chat Model两种类型。

LLM-问答模型:模型接收一个文本输入,然后返回一个文本结果。
Chat Model-对话模型:接收一组对话消息,然后返回对话消息,类似聊天消息一样。


LangChain核心概念

1. LLMs
Large Language Models即大语言模型,LangChain封装的基础模型,模型接收一个文本输入,然后返回一个文本结果。
2. Chat Models
聊天模型(或者称为对话模型),与 LLMs不同,这些模型专为对话场景而设计。模型可以接收一组对话消息,然后返回对话消息,类似聊天消息一样。
3. Message
消息。指的是聊天模型(Chat Models)的消息内容,消息类型包括HumanMessage、 AlMessage、SystemMessage、FunctionMessage和ToolMessage等多种类型的消息。
4. Prompts
提示词。LangChain封装了一组专门用于提示词(Prompts)管理的工具类,方便我们格式化提示词 (Prompts)的内容。
5. Output Parsers
输出解析器。如上图介绍,Langchain接受大模型(LLM)返回的文本内容之后,可以使用专门的输出解析器对文本内容进行格式化。例如解析JSON、或者将LLM输出的内容转成Python对象。
6. Retrievers
检索器。为方便我们将私有数据导入到大模型(LLM),提高模型回答问题的质量,LangChain封装了检索器(Retrievers),方便我们加载文档数据、切割文档数据、存储和检索文档数据。
7. Vector stores
向量存储。为支持私有数据的语义相似搜索,LangChain支持多种向量数据库。向量存储是一种专门用于存储和检索向量数据的数据存储系统,在人工智能和机器学习领域,尤其是自然语言处理(NLP)中有着重要应用。
8. Agents
智能体。通常指的是以大模型(LLM)作为决策引擎,根据用户输入的任务,自动调用外部系统、硬件设备共同完成用户的任务,是一种以大模型(LLM)为核心的应用设计模式。


LangChain应用场景

LangChain是一个强大的框架,能够简化基于大语言模型(LLMs)的应用开发过程,其应用场景广泛,涵盖了多个领域:

智能问答系统:利用LangChain可以快速搭建智能问答系统。它能够连接大语言模型,并通过检索器(Retrievers)从各种数据源(如文档、数据库)中提取相关信息,辅助大语言模型生成更准确、更有依据的答案。例如企业内部的知识库问答系统,员工可以输入问题,系统借助LangChain调用相关知识文档并结合大语言模型给出解答;还有在线客服问答系统,为用户提供常见问题的准确回复。
聊天机器人:适用于开发各种聊天机器人,无论是面向客户服务的客服机器人,还是用于娱乐的闲聊机器人。LangChain的聊天模型(Chat Models)和消息管理功能(Message)可以处理对话逻辑,并且可以集成外部工具和知识源,使聊天机器人能够理解上下文并提供更智能、个性化的回复。比如智能客服机器人,能够根据用户的咨询,调用相关业务知识和对话策略进行准确回复。
内容创作与生成:在内容创作领域,如文章写作、故事生成、诗歌创作等方面有广泛应用。通过LangChain对提示词(Prompts)的管理和优化,可以引导大语言模型生成符合特定要求和风格的内容。例如,营销人员可以使用它来生成产品描述、广告文案;创作者可以借助其生成小说情节、剧本大纲等。
文档分析与处理:可以对各类文档(如学术论文、法律文件、商业报告等)进行分析和处理。通过Retrievers加载和处理文档数据,结合大语言模型对文档内容进行总结、提取关键信息、进行情感分析等。比如律师可以利用LangChain对法律文档进行分析,快速提取关键条款和案例要点;研究人员可以使用它对学术文献进行总结和分类。
知识图谱应用:与知识图谱相结合,LangChain能够增强知识图谱的查询和推理能力。它可以将用户的查询转化为大语言模型能够理解的形式,并从知识图谱中检索相关信息,然后通过大语言模型进行进一步的推理和解释,为用户提供更深入、更全面的知识服务。
教育领域应用:在教育领域,可用于开发智能辅导系统。根据学生的问题和学习情况,LangChain调用相关的学习资料和教学策略,结合大语言模型为学生提供个性化的辅导和解答;还可以用于生成练习题、评估学生作业等。
代码生成与辅助编程:可以辅助开发人员进行代码生成和编程。通过输入自然语言描述的编程需求,LangChain借助大语言模型生成相应的代码片段,并可以根据开发人员的反馈进行调整和优化。例如,快速生成特定功能的代码框架,或者为代码添加注释和文档说明。
多模态应用:随着多模态技术的发展,LangChain可以与图像、音频等其他模态的数据处理技术相结合。例如,在智能交互系统中,用户可以通过语音输入问题,系统利用LangChain处理语音转文字后的文本,并结合图像识别等技术提供更丰富的回答和交互体验。


原文链接:https://blog.csdn.net/chengyidechengxu/article/details/145655198

相关文章:

LangChain大模型应用开发介绍

LangChain大模型应用开发介绍 LangChain是一个开源的Python Al应用开发框架,它提供了构建基于大模型的AI应用所需的模块和工具。通过LangChain, 开发者可以轻松地与大模型(LLM)集成,完成文本生成、问答、翻译、对话等任务。LangChain降低了AI应用开发的门槛,让任何人都可以…...

[豪の学习笔记] 软考中级备考 基础复习#8

软件工程概述、软件开发模型、软件开发方法、需求分析、系统设计、系统测试、软件开发项目管理、软件质量、软件度量McCabe度量法跟学视频:学以致知Learning - 软件设计师 基础阶段|考点理论精讲 Chapter 8 - 软件工程基础知识 1 - 软件工程概述 软件生存周期 ​ 同任何事物一…...

lc1025-除数博弈

难度:简单(中期巅峰)题目描述爱丽丝先手 初始数 n (1 <= n <= 1000) 若能选出 x (0 < x < n) 使 x 能整除 n,则 n 变为 n-x 若不能,则输掉示例 输入:n = 2 输出:true 解释:爱丽丝选择 1,鲍勃无法进行操作输入:n = 3 输出:false 解释:爱丽丝选择 1(n 变…...

漏洞解析--文件包含漏洞究竟怎么用?

一、漏洞原理 1.1 核心 文件包含漏洞是指程序中需要包含其他文件(代码,信息等等),然而包含文件的路径受用户输入控制,攻击者可以使其包含恶意文件,从而造成敏感信息泄露甚至任意代码执行。分为两类:本地文件包含(LFI, Local File Inclusion):攻击者能够让程序包含服务…...

办公室装修 暂存

办公室装修 暂存本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/19088481...

博客更新公告

来看看博客更新公告吧rt. 公示最新更新或发布的博客, 供大家查阅. 更新日志 Upd 2025.9.12 新随笔 Words to be remembered 2025.9.12 我好想你. 网址: https://www.cnblogs.com/hsy8116/p/19088430.Upd 2025.8.24 博客 初中这三年 已经更新, 在最后添加了对初中三年整体的评价…...

爆:GitHub Copilot支持包括Anthropic、Azure、Google Gemini、Groq、OpenAI 和 OpenRouter等供应商API

爆:GitHub Copilot支持包括Anthropic、Azure、Google Gemini、Groq、OpenAI 和 OpenRouter等供应商APIJetBrains和Xcode现已支持自带API密钥(BYOK)使用GitHub Copilot Chat,支持Anthropic、Azure等主流AI提供商。用户可灵活选择模型,享受更好的控制和实验体验。安装最新插件…...

JavaWeb05 - 详解

JavaWeb05 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size: 14px !…...

CF182C

根据贪心策略,应当选择 \(k\) 个最小的负数改为正数,或选择 \(k\) 个最大的正数改为负数,才可能使答案最大。那么可以先把数按正负分开,并确定每个数在同符号数中的排名。建立权值线段树,记录每个数出现的次数、单个数大小、总贡献和,查询时类似线段树二分,如果数值较大…...

CF185D

大胆猜测,所有数的最大公约数一定很小:偶数时为 \(1\),奇数时为 \(2\)。设两个正整数 \(n,m\) 且 \(n<m\),最大公约数 \(\gcd(k^{2^n}+1,k^{2^m}+1)=d\),则有 \(k^{2^n}\equiv k^{2^m} \equiv -1\pmod d,k^{2^{n+1}} \equiv (k^{2^{n+1}})^{\frac{2^m}{2^{n+1}}} \equi…...

Python计算文件md5

Python计算文件md5 基础版本1 import hashlib2 3 def calculate_md5(file_path, chunk_size=8192):4 """5 计算大文件的MD5值6 7 Args:8 file_path (str): 文件路径9 chunk_size (int): 每次读取的字节数,默认8KB 10 11 …...

CF201C

最优的方案应该是先往一个方向走,然后走回来,再往另一个方向走不回来。考虑用 dp 模拟这个过程。设 \(f_{i,0/1}\) 表示从第 \(i\) 个点出发往左走,不一定/一定回到 \(i\) 号点的最大次数,则有转移: \[\begin{array}{l} f_{i,1}=f_{i-1,1}+a_{i-1}-[2 \nmid a_{i-1}]\\f_{…...

CF1774D

首先 \(1\) 的总个数不能被 \(n\) 整除时无解。 否则一定有解(因为每一列上的 \(1\) 的位置都可以随意变动,故实际上相当于可以随便放)。为了步数最少,一定是用缺少 \(1\) 行的 \(0\) 与过多 \(1\) 行的 \(1\) 交换,这样能同时使两行更接近答案。实现时先枚举列,再根据每…...

CF23C

挺神奇的思维题。 首先将所有元素按 \(a\) 从大到小排序,考虑交叉选,即要么 \(a_1,a_3,a_5,\cdots,a_{2n-1}\),要么 \(a_1,a_2,a_4,\cdots,a_{2n-2}\)。无论选哪种,\(a\) 一定满足要求(前者 \(a_1>a_2,a_3>a_4,\cdots,a_{2n-3}>a_{2n-2}\),各式相加即可,后者 \…...

CF37C

将每个 01 串看作一个二进制数,将长度从小到大排序,对于当前第 \(i\) 个串,首先在第 \(i-1\) 个串的基础上加 \(1\)(如果不能加 \(1\) 即爆位数则无解),如果长度相同则无需任何操作,否则按照缺少的长度从后面补 \(0\)。这样做能保证长度短的不为长度长的前缀,且尽可能的…...

CF33D

由于任意两个圆没有交点,故不存在翻一次栅栏能穿过两个圆。那么对于每个栅栏,如果两个点一个在内一个在外,则必须翻,否则不用翻。时间复杂度 \(O(mk)\),可以通过。 #include<iostream> #include<cstdio> #include<algorithm> #include<map> #defi…...

支持类 Unix 语法 ``:Windows 下用 PowerShell 7 优化 npm 和 VS Code

不支持 && ? 在类 Unix 系统中,&& 是常用的命令组合符,表示 前一个命令成功后再执行下一个命令。例如: echo "第一步成功" && echo "第二步执行"在 Windows 的默认环境中,cmd 或旧版 PowerShell 对 && 支持有限,可能…...

初赛程序阅读做题要点

草稿纸打清楚 同一时间的变量尽量打在一行 遇到循环要标好循环节 递归树,加入记忆化搜索想法,打表存储...

模拟堆(手写堆 的五大操作)

先看手写堆的相关问题:堆排序(手写堆) 五大操作: 例题: 输入样例:8 I -10 PM I -10 D 1 C 2 8 I 6 PM DM期望输出:-10 6代码实现:#include<bits/stdc++.h> using namespace std;const int N =1e5+10; int h[N]; int n,size; int ph[N],hp[N];void hswap(int a,in…...

【A】杂题悬桨

[ARC199A] Flip Row or Col 2...

使用Osquery进行远程取证:NTFS取证扩展实战指南

本文详细介绍了如何利用osquery的NTFS取证扩展进行远程数字取证分析,包括时间戳攻击检测、删除文件痕迹追踪等实战场景,为安全分析师提供高效端点调查方案。使用Osquery进行远程取证 - Trail of Bits博客 系统管理员使用osquery进行端点遥测和日常监控,安全威胁猎人用它发现…...

完整教程:简单介绍一下Clickhouse及其引擎

完整教程:简单介绍一下Clickhouse及其引擎pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !impo…...

矩阵分解

LU 分解 考虑将 \(A\) 分解成 \(LU\),\(L\) 为上三角矩阵,\(U\) 为下三角矩阵。 利用矩阵经典性质 \(|A|=|L||U|\),可以轻易算出 \(det(A)\)。 考虑 \(A_{i,j}=\gcd(i,j)\),一个经典性质是 \(\sum_{d|n} \phi(d)=n\),那么设 \(L_{i,j}=[j|i]\),\(U_{i,j}=[i|j]\phi(i)\)。…...

第一周个人作业

我叫张司靓,第一次在博客园写随笔,就跟大家聊聊我自己,还有对接下来学习的想法,想到哪儿说到哪儿,主打一个真实~ 一、先跟大家唠唠我自己我的日常小爱好 我平时没事就爱追剧,玩游戏,举个具体的例子:之前出的莲花楼,我已经n刷了,但每次看到大结局的时候都给我哭的死去…...

基于 Gitlab 实现 Go 的 CI/CD

# 定义流水线的几个阶段 stages:- lint- test- build- docker- deploy# 定义所有 job 的默认环境变量 variables:GO111MODULE: "on"CGO_ENABLED: "0"GOPROXY: "https://goproxy.cn,direct"# 代码静态检查 lint: # 这是 job 的…...

2025.9.11

2025.9.11讲的网络流 1.早读 P13925 [POKATT 2024] 联合猫国 / The Paw-litical Game 感觉好像在哪见过这道题,但是我不会 其实是个 \(dp\) (复杂度对吗?) 就是设 \(f[i]\) 表示考虑前 \(i\) 个最少变成几个 转移就是枚举最后一个合法状态 复杂度是 \(\sum i\) 结尾合法状态…...

容斥原理

1. 定义 有N个集合,称为 S[1],s[2]...s[n] ,则这N个集合的并集为假如有N个毫不相干的约束条件,那么可以将所有满足某个约束条件的状态看作一个集合,这样用容斥原理就可以很轻松地求出所有满足至少一个约束条件的状态总数 2. 题目 洛谷P1287 盒子与球 https://www.luogu.com…...

【B】世良真纯

...

如何使用jobleap.cn避免简历中的严重错误

如何使用jobleap.cn避免简历中的严重错误在求职竞争激烈的今天,一份优质且无误的简历至关重要。许多优秀人才因简历中的细节错误被招聘人员淘汰,但这完全可以避免。jobleap.cn作为专业的人才服务平台,致力于帮助您精准优化简历,提升面试通过率,让您在第一轮筛选中脱颖而出…...

在 Zustand 中创建通用 Action 的优雅实践

为何需要通用 Action? 在 Zustand 状态管理库中,开发者常常需要为状态对象的每个字段单独编写更新函数。然而,随着状态结构的复杂化,这种方式会导致代码冗余,维护成本增加。例如: updateName: (name) => set(() => ({ name })), updateAge: (age) => set(() =&g…...

如何用产品思维优化简历的“用户体验”?

如何用产品思维优化简历的“用户体验”?用产品思维优化简历的用户体验,关键在于让你的简历更符合招聘需求,更易被HR快速理解和认可。简历就像产品,目标用户是HR和用人主管,需求来自职位描述,设计要简单、清晰、兼容多场景,信息需要精准量化。jobleap.cn 是专注于职业发展…...

简历如何优化,简历如何投递,面试如何准备?

简历如何优化,简历如何投递,面试如何准备?简历模板建议简洁,突出关键信息,避免花哨。格式请统一用PDF,防止样式错乱。技术岗位一般不建议贴照片。简历文件名规范为“姓名_学历_岗位_手机号”,这样更专业且便于识别。学历是优势,尤其是名校毕业,可以自信标注;工作经验…...

网络流做题笔记

P3227 [HNOI2013] 切糕 考虑最小割。 对于一个坐标上的点只能选择一个 \(z\) 坐标,将 \(z\) 坐标的费用作为流量顺次连接。 第二个限制条件,先去绝对值,枚举较大值。 再限制较小值,不能小于 \(z-D\),从 \((x,y,z)\) 向 \((x,y,z-D)\) 连 \(inf\) 即可。 方格取数问题 相邻…...

简历优化全攻略:如何写出吸引HR的简历?

简历优化全攻略:如何写出吸引HR的简历?在求职过程中,简历是敲开面试大门的关键。本攻略从准备、写作到完善,教你系统优化简历内容,提高求职成功率。在求职过程中,简历是敲开面试大门的关键。本攻略从准备、写作到完善,教你系统优化简历内容,提高求职成功率。 1. 写简历…...

重塑云上 AI 应用“运行时”,函数计算进化之路

答案是,远未准备好。无论是被誉为“云原生操作系统”的 Kubernetes,还是被看作“终极形态”的无服务器(Serverless),在面对 AI 应用时都暴露出了深刻的架构失配。作者:世如 引言:AI 应用的“电器时代”与运行时的“隐形枷锁” 阿里云王坚博士曾不止一次的强调云计算的核…...

25.9.12 C语言基本数据类型

预备知识 A、1 字节(byte)=8 比特(bit) 1个比特即为1个二进制位数 B、%d 按有符号十进制整型数打印 %6d 按十进制整型数打印,至少6个字符宽(指输出的最后一个字符距行首为六字符)如:xxx123 %f 按浮点数打印(默认为小数点后6位) %6f按浮点数打印,至少6个字符宽 %06f 按…...

Avalonia:基础导航

Avalonia本身就可以实现导航功能,在主页面放置 TransitioningContentControl 控件,把它绑定到ViewModel 中的一个属性上 ViewModelBase? _currentPage;,通过更新这个属性实现导航。 我们先建二个ViewModel,一个是ColorsViewModel,一个是AboutViewModel。 using Avalonia.D…...

bashrc的一些配置记录

linux-Ubuntu22.04的bashrc在配置cuda的时候还需要配置以下内容:export PATH=/usr/local/cuda/bin:$PATH export CUDA_HOME=/usr/local/cuda export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64 export…...

H5游戏性能优化系列-----协议相关优化

H5通讯协议这一块儿最长将的搭配应该是WebSocket+Protobuf这种模式吧,本篇就聊一下protobuf相关的优化。 Protobuf基本流程导入protobuf库 一般是后端定义协议文件,xxx.proto 现在的引擎都是要求写Ts文件的,所以要生成协议类的.d.ts,这样写协议处理时才有代码提示 直接加载…...

实现我的第一个langchain应用

这里我使用了科大讯飞的免费大模型来尝试 最简的应用 from langchain_community.chat_models import ChatOpenAI from langchain.schema import HumanMessagellm = ChatOpenAI(model_name="xop3qwen1b7", # 模型名称openai_api_base="https://maas-api.cn-huab…...

小说可视化系统设计(程序员副业项目)

https://blog.csdn.net/qq_33002279/article/details/151620553本文来自博客园踩坑狭,作者:韩若明瞳,转载请注明原文链接:https://www.cnblogs.com/han-guang-xue/p/19088351...

MyEMS与开源浪潮:如何重塑全球能源管理的未来格局

在气候变化与数字化转型的双重时代背景下,能源管理已从一项辅助性工作跃升为企业战略的核心。传统的、封闭的、昂贵的商业软件解决方案曾主导这一领域,但如今,一股由开源引领的变革浪潮正以前所未有的力量冲击着旧有格局。在这股浪潮之巅,MyEMS 作为一个全功能的开源能源管…...

React Antd or Antd Pro:findDOMNode is deprecated and will be removed in the next major release.

(旧项目)我一开始用的react:18.3.0, antd:5.21.1, ant-design/pro-components:2.7.19 (1)antd更新日志关于修复这个问题的最新一版是在2024/05/19的5.17.3版本(查询于2025/09/12)而且也是部分修复antd更新日志:https://ant-design.antgroup.com/changelog-cn(2)在 Pro…...

单板挑战4路YOLOv8!米尔瑞芯微RK3576开发板性能实测

在科技飞速发展的当下,人工智能与边缘计算的融合正以前所未有的速度重塑着我们的生活。RK3576芯片拥有4核Cortex-A72以及4核Cortex-A53提供基础算力,6TOPS算力NPU来模型推导运算。使用YOLOv8模型时也是手到擒来,接下来随着步伐看看它表现如何。 YOLO简介 YOLO(You Only Loo…...

doms.ul.querySelectorvs document.querySelector:DOM查询的层级关系

在JavaScript DOM操作中,doms.ul.querySelector和 document.querySelector都是用于查找元素的方法,但它们有重要的区别。让我详细解释它们的关系和差异。 核心区别特性document.querySelectorelement.querySelector​​搜索范围​​整个文档仅限于调用元素的子元素​​执行效…...

穿越钱塘江:一条高铁隧道背后的技术挑战

​2025年9月10日,中铁四局二公司杭州机场高铁站前5标柯桥制梁场首榀箱梁顺利浇筑,标志着铁路箱梁预制施工正式拉开序幕,工程建设全面进入实体施工新阶段。 ▲现场图片(图源:越牛新闻)这一节点不仅意味着杭州机场高铁在土建施工上实现关键突破,也为后续线路铺轨、站房建设…...

Pwn2Own Automotive 2025 决赛日:49个零日漏洞与88万美元奖金揭晓

本文详细记录了Pwn2Own Automotive 2025第三日决赛战况,涵盖ChargePoint/Sony/Autel等品牌设备漏洞利用细节,包括整数溢出、缓冲区溢出、命令注入等技术细节,最终累计颁发88.6万美元奖金。第三天最终战果 欢迎来到Pwn2Own Automotive 2025的第三个也是最后一个比赛日。过去两…...

9.HPA与VPA

HPA 与 VPA ​ 在前面的学习中我们使用了一个 kubectl scale 命令可以来实现 Pod 的扩缩容功能,但是这个是完全手动操作的,要应对线上的各种复杂情况,我们需要能够做到自动化去感知业务,来自动进行扩缩容。为此,Kubernetes 也为我们提供了这样的一个资源对象:Horizontal …...

MyEMS在行动:揭秘开源能源管理系统如何重塑工业与楼宇的能效未来

当“节能降耗”从一个口号变为一项关乎企业生存与发展的关键指标时,背后的管理工具便成为了决胜因素。Across the globe, 从德国的智能工厂到中国的绿色数据中心,一款名为MyEMS的开源系统正在悄然推动一场静悄悄的能源效率革命。 本文将通过场景化的视角,深入剖析MyEMS在不同…...

题解:P14015 [ICPC 2024 Nanjing R] 生日礼物

更差的阅读体验经典套路,我个人认为是橙题。 相邻相等不好刻画,我们直接把偶数位置反转,这样一组相邻相等中恰好有一个被反转,变成删除相邻不同。 那么假设没有 \(2\),最终序列中一定只有 \(0\) 或 \(1\)。所以假设 \(0,1\) 个数分别是 \(c_0, c_1\),那么由于一次消除一个…...