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

AI Agent重塑微服务治理

导读

随着技术架构的发展,微服务系统的复杂性不断增加,对运维提出了更高的要求。为了应对这一挑战,一种AI驱动的微服务治理方案被提出。该方案采用多智能体架构,将运维专家经验整合,并通过自然语言交互和智能推理,简化了灰度发布和配置限流熔断等操作。利用大型语言模型(LLM)的推理能力,方案能够进行深入的故障诊断和处理,实现运维经验的自动化。每个智能体都能承担特定角色,高效完成复杂任务,并通过持续的数据训练和SOP提炼,不断优化功能,满足用户需求。在数字时代,AI为微服务治理开辟了新的可能性。

01 项目背景

传统场景下,软件的研发主要依靠人,需求沟通、开发、测试、部署等阶段都需要大量人力投入。大模型优秀的代码生成和一定的思维链推理能力,能够激发微服务研发、运维等环节“智能涌现”,重塑软件研发全生命周期。

商业产品包含效果广告(搜索广告,信息流广告)和展示广告(品牌广告,开屏广告)两大类广告产品,以及基木鱼和观星盘、电商等营销工具。为了保障复杂系统的稳定性,业务同学需投入大量人力运维微服务,从而保证业务功能快速交付和线上高稳定性。这些工作包含两类:

  1. 常规流程操作:日常上线部署、调整部署和发布 API、配置修改、路由参数更改等常规操作。

  2. SRE架构优化:技术栈持续升级,针对线上报警等稳定性问题,进行深层次的根因定位和故障处理、架构优

平台工程团队面向商业产品打造的 Jarvis 平台,提供了一整套的运维工具包括自动化部署和微服务治理分析能力。但是这些治理工具存在以下问题:

图片

  1. 组合操作复杂:完成单一目的需要大量的组合操作,这些操作入口深(隐藏在重重菜单中),链路长。

  2. 强依赖人工经验:对于根因定位和故障处理、架构优化, Jarvis 平台开发了微服务治理、性能分析、自动化监控、调用链分析等高阶能力。但是这些工具使用门栏较高,定位问题严重依赖于人工经验。如果对该业务应用无运维经验,则需要耗费大量时间去定位止损和优化架构。

图片

为了提升商业产品维护的效率问题,Jarvis 平台使用 AI 原生应用思维来全新重塑产品形态,革命性提升业务研发运维效率,基于多智能体架构将专家经验内化,大幅降低使用门槛,显著提升微服务维护的效率(包括故障处理和根因定位、架构优化、部署操作等)。

主要有两个关键环节:

  1. 全流程对话式交互:用户依靠自然语言发出指令,多轮持续对话完成一项完整的升级操作,比如灰度发布、配置限流熔断、流量录制和回放等复杂操作。

  2. LLM 推理诊断处理:基于定位问题的经验,依靠LLM的推理能力,进行根因分析,通过智能诊断、报警等机制来驱动系统故障的高效处理,实现人工运维经验的可复制性。

图片

02 效果演示

应用使用JarvisBot 升级到jdk17(全流程对话式交互)

  1. 用户要求升级 JDK17;

  2. DirectorAgent解析SOP规划执行路径,组装CoderAgent、OpsAgent解决该需求;

  3. CoderAgent自动升级代码并发出CR;代码负责人 CR 合入;

  4. OpsAgent部署上线,并将录制流量回放保证服务正常,承接线上流量;

基于思维链推理的报警处理(LLM 推理诊断处理)

  1. 用户要求诊断错误日志报警;

  2. DirectorAgent解析 SOP 规划执行路径,组装DiagnosisAgent、OpsAgent解决该问题;

  3. DiagnosisAgent拉取 Metrics 日志和 Tracing 日志定位到问题实例,提出”屏蔽实例“优化建议;

  4. 用户确认后,OpsAgent执行优化止损操作;

03 基于SOP的多智能体协作

3.1 业界探索

图片

单个AI智能体=LLM+记忆+规划+工具等,参考述上OpenAI理论基础。

多智能体则需要由多个Agent依靠既定SOP互相进行交流,从而保证智能体能够正确的合力完成一个复杂的长程任务。智能体的关键在于SOP,是不同工种技能的关键,能让每一个智能体扮演一个特定角色。

SOP指的是Standard Operating Procedure,即标准操作程序,它提供了执行特定任务所需涉及的角色分工和详细操作步骤,以确保在不同情况下都能保持作业结果的准确性和高效性。SOP 在软件开发、系统维护和团队协作中起着重要作用,有助于确保开发人员遵循最佳实践、减少错误和提供工作效率。

为了解决项目开篇提到用户需求,系统为了快速产出大量的能力,因此经过多次迭代,有了一系列演进:

图片

△SOP架构演进

阶段一:多智能体协作。Agent 之间需要相互调用才能完成复杂的对话目标。但是Agent 的工作存在大量重复,比如几乎所有智能体都需要调用底层的 API agent进行数据查询,诊断的智能体其实也需要大量的优化操作。智能体直接的边界非常不清晰,交互的方式也比较多样,有通过自然语言,有通过直接调用的,非常混乱。

图片

阶段二:智能体协作SOP 标准化。通过标准操作程序(SOPs)编码作为智能体Prompt,指导大模型按照结构化流程工作并协调智能体各个环节,允许具有领域专长的智能体验证输出并减少复合错误,有效避免大模型的幻觉问题。SOPs 总结人工操作流程经验,从而让 agent 的职责和产出结果标准化、agent 间的协作完全符合要求。

3.2 SOP格式定义

举例:

04 多智能体架构落地实践

图片

JarvisBot是一个中枢神经模块,做决策和触发任务,不做具体的业务逻辑。它链接用户(LUI层)和业务层,跟用户进行自然语言的交互,理解自然语言描述的SOP ,指挥底层系统完成对应的任务。它的几个重要部分包括:

  • Agents(智能体集合):包含DirectorAgent(技术负责人)、CoderAgent(程序员)、OpsAgent(操作智能体)、DiagnosisAgent(诊断智能体)等一系列智能体。

  • 智能体都基于 BaseAgent 构建,具有基础的 SOP 理解和LLM ReAct 思维链规划能力。

图片

△Agent基座框架

  • 不同的 Agent 具有不同的技能,比如DirectorAgent规划智能体工作流、CoderAgent监听PRD生成代码,DiagnosisAgent监听诊断类问题产生诊断结论等。

  • Agents之间通过消息总线进行交互,不同的 Agent 产生和订阅不同主题的消息。

  • 知识管理端:管理各种静态数据,并提供一定的自动化手段进行更新。比如借助数据飞轮管理和优化Prompts,录入并管理 SOP,自动化录制知识。

  • 工具集合:链接底层业务接口,封装一些复杂操作,通过HTTP或者 RPC 请求获取业务模块的数据。

  • 模型管理:对模型一些的封装管理,包括一些重试策略、排队算法等。

下图是一个典型的基于 SOP解决诊断问题的流程图:

图片

05 数据飞轮驱动多智能体架构持续进化

既然SOP是驱动多智能体协作的关键,如何持续产出 SOP 是让多智能体架构真正具有自主进化的能力关键。如何产出 SOP依赖于数据提炼的能力。因此:如何构建数据飞轮并且利用数据飞轮持续优化提炼SOP, 是实现多智能体持续进化的关键。

图片

5.1 大小模型飞速协同进化,是智能性进化的根基

智能体架构底层依靠一系列不同尺寸的模型。其中通用大模型用于通用知识理解和复杂推理,轻量级模型用于SFT 微调。

图片

上表看出,模型尺寸越小,成本越低、响应速度越快,但是通识能力和复杂问题推理能力就越来越差。

JarvisBot智能体的核心思路是用大模型教会小模型,借助大模型去构建小模型SFT训练优质数据集,在不同细分场景大量的使用小模型,从而达到智能性和成本的完美平衡。

图片 △不断剪裁模型尺寸

图片 △大模型教会小模型

图片

△大小模型协同进化架构

基于离线AI 对话评估系统利用规则库、参考历史相似语料打分、语料聚类抽样、多LLM(文心4、GPT4、专精SFT模型等)群体智能打分,评估线上对话语料。单日机器可自动完成评估对话条目4w+,产出大量的评估报告推动JarvisBot从产品、LUI技术解析和模型基座多个角度飞速进化。

图片

5.2 如何实现持续进化—数据飞轮训练专家模型,自动提炼SOP

通过自动化评估系统,可以不断评估智能体的智能性,不断洞察用户的需求,包括产品功能使用情况、未满足的功能诉求、用户习惯操作动线等。借助数据飞轮可以不断训练出专家模型,自动提炼SOP,从而帮助多智能体不断的持续进化。

图片

06 AI Agent微服务治理平台Jarvis总结

图片

————END————

推荐阅读

百度智能云千帆大模型平台引领企业创新增长

轻松搞定平稳运行,数据库平台 DBStack 帮助 DBA 运维不同基础设施上的各类数据库

基于PP-ShiTuv2新增PaddleX图像识别模型产线,显著提升商品识别等细粒度开放域产业场景检索性能

基于GPU的ANN检索

维度爆炸背景下uv计算在Feed业务的高效实践

相关文章:

AI Agent重塑微服务治理

导读 随着技术架构的发展,微服务系统的复杂性不断增加,对运维提出了更高的要求。为了应对这一挑战,一种AI驱动的微服务治理方案被提出。该方案采用多智能体架构,将运维专家经验整合,并通过自然语言交互和智能推理&…...

SpringBoot整合knife4j,以及会遇到的一些bug

这篇文章主要讲解了“Spring Boot集成接口管理工具Knife4j怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Boot集成接口管理工具Knife4j怎么用”吧! 一…...

vue自定义组件双向数据绑定

1、使用v - model指令(推荐方式)2、手动实现双向绑定(不使用v - model语法糖)3、 .sync修饰符4、.sync 与 v - model 的比较 1、使用v - model指令(推荐方式) 在 Vue 中,v - model是一个语法糖…...

【Linux课程学习】:想对Linux说的话

🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 一.Linux学习存在的问题: 二.Linu…...

重生之我在异世界学编程之C语言:初识一维和二维数组篇

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文数组的基本类型:一维…...

《Vue 实战:小型项目练手与感悟》

一、Vue 基础与准备 在开始 Vue 项目之前,对 JavaScript、CSS、HTML 基础知识的掌握至关重要。 一、JavaScript 基础知识要求 数组常用方法 filter ():创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。 map ()&a…...

使用uniapp开发小程序场景:在百度地图上调用接口返回的设备相关信息并展示

首先在百度地图开发者平台注册微信小程序开发密钥下载百度地图SDK-bmap-wx.min.js,下载地址在项目入口index.html页面进行引入页面中进行调用&#xff0c;代码示例如下<map id"map" longitude"108.95" latitude"34.34" scale"3" :m…...

计算机毕业设计Python轨道交通客流预测分析可视化 智慧交通 机器学习 深度学习 人工智能 爬虫 交通大数据

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

使用 Wireshark 捕获和分析 IEC 60870-5-104 流量基本步骤

一 .IEC 60870-5-104 是什么? IEC 60870-5-104 是一种用于电力系统中数据传输的通信协议&#xff0c;它结合了 IEC 60870-5-101 的应用服务和 TCP/IP 网络协议。该标准定义了一种通过网络连接进行远动控制&#xff08;如遥测、遥控等&#xff09;的方法。 使用 Wireshark 捕…...

WPF+LibVLC开发播放器-音量控制和倍速控制

界面 界面上增加音量的控件和倍速控制控件 音量控制 主要也是一个Slider进度条控件来实现音量调节 我们这里设置默认的最大值为100&#xff0c;默认Value值也为100&#xff0c;默认声音开到最大 这里目前完全由前端控制音量调节&#xff0c;可以直接使用ValueChanged事件实…...

【数据中心建设资料】数据中心安全建设解决方案,数据中心整理解决方案,数据中心如何做到安全保障,数据中台全方案(Word全原件)

第一章 解决方案 1.1 建设需求 1.2 建设思路 1.3 总体方案 信息安全系统整体部署架构图 1.3.1 IP准入控制系统 1.3.2 防泄密技术的选择 1.3.3 主机账号生命周期管理系统 1.3.4 数据库账号生命周期管理系统 1.3.5 双因素认证系统 1.3.6 数据库审计系统 1.3.7 数据脱敏系统 1.3.8…...

Apache HTTPD多后缀解析漏洞

进入靶场 上来就是一个文件上传的功能 经过尝试&#xff0c;发现只有jpg&#xff0c;png&#xff0c;gif文件能上传上去&#xff0c;而题目又说了&#xff0c;这个是Apache的中间件&#xff0c;Apache文件解析漏洞涉及到一个Apache解析文件的特性&#xff0c;Apache默认一个文…...

html+css+JavaScript实现轮播图

html+css+JavaScript实现轮播图 实现思路 要实现一个轮播图功能,我们需要HTML来构建结构,CSS来设计样式,以及JavaScript来添加交互功能。下面我将分别分析这三个部分是如何协同工作来实现轮播图的。 HTML - 结构 HTML部分定义了轮播图的基本结构,包括图片列表、指示器和…...

Golang 八股(持续补充...)

目录 进程、线程、协程 Go语言——垃圾回收 GC的触发条件 GC调优 GMP调度和CSP模型 Groutine的切换时机 Goroutine调度原理 Goroutine的抢占式调度 Context结构原理 Context原理 Golang内存分配机制 竞态、内存逃逸 golang内存对齐机制 golang中new和make的区别&a…...

MFC实现全屏功能

之前全屏都是参考&#xff1a; MFC单文档&#xff08;SDI&#xff09;全屏程序的实现 主要思路就是将各种菜单工具栏隐藏恢复。 随着MFC的升级&#xff0c;MFC框架本身就具备了全屏的功能。 微软有一个全屏实现类&#xff1a; CFullScreenImpl Class managing full-screen mod…...

AI换脸facefusion 3.0.1安装及其使用方法(源代码安装)

文章目录 1. 本文简介2. 软件环境准备软件下载及安装代码下载 3. Conda环境4. 加速环境5. 依赖安装6. 图片测试 今天给大家分享换脸facefusion 3.0.1使用方法。不仅可以对单张图片换脸&#xff0c;也可以对视频换脸。如果是单张图片的话&#xff0c;没有GPU速度也很快&#xff…...

PCL【C++】点云融合

//图像到点云的转换//C 标准库 #include <iostream> #include <string>//OpenCV 库 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp>//PCL 库 #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #inclu…...

处理一个MP4视频,检测里面出现的人脸,并根据特征值计算相似度来追踪和显示出每个人脸的ID

使用Mediapipe, opencv 处理一个MP4视频,检测里面出现的人脸,然后使用Mediapipe 计算每个出现的人脸的特征值,并根据特征值计算相似度来追踪和显示出每个人脸的ID import cv2 import mediapipe as mp import numpy as np# 初始化Mediapipe人脸检测和FaceMesh模型 mp_face_de…...

一文了解模式识别顶会ICPR 2024的研究热点与最新趋势

简介 对模式识别研究领域前沿方向的跟踪是提高科研能力和制定科研战略的关键。本文通过图文并茂的方式介绍了ICPR 2024的研究热点与最新趋势&#xff0c;帮助读者了解和跟踪模式识别的前沿研究方向。本推文的作者是黄星宇&#xff0c;审校为邱雪和许东舟。 一、会议介绍 ICPR…...

【WRF-Urban】WPS中有关Urban的变量设置

【WRF-Urban】WPS中有关Urban的变量设置 地理数据源的配置WRF-Urban所需静态地理数据1、LANDUSE&#xff1a;包含城市地表分类的土地利用数据。2、URB_PARAM&#xff1a;城市参数数据集。3、FRC_URB2D&#xff1a;城市覆盖度数据集 WRF默认设置&#xff08;美国&#xff09;数据…...

Android中 ViewPager 和 ViewPager2 的区别

学习笔记 ViewPager 和 ViewPager2 都是 Android 中实现滑动页面效果的控件&#xff0c;用于在一系列页面之间进行切换。ViewPager2 是 ViewPager 的升级版本&#xff0c;提供了更多功能和灵活性。本文将从各个方面详细对比这两个控件&#xff0c;帮助你理解它们的区别和使用场…...

python使用pdfplumber工具包加载pdf格式数据

说在前面 大问题&#xff0c;对于两栏pdf数据&#xff0c;我这边提取出来的数据发现它很离谱。 它居然直接忽略了两栏特性&#xff0c;直接将第1栏的句子拼接上了第2栏的句子 解决方法&#xff1a;pypdf2尝试后可以正确识别两栏数据&#xff0c;非常棒。 示例 pdfplumber代…...

C++设计模式:代理模式(Proxy)(附案例代码)

什么是代理模式&#xff1f; 代理模式是一种结构型设计模式&#xff0c;主要用于为某个对象提供一个代理&#xff0c;以便在不直接访问对象的情况下控制对其的访问。代理可以在客户端和目标对象之间起到一个中介的作用&#xff0c;添加一些额外的操作&#xff0c;例如权限控制…...

Y20030028 JAVA+SSM+MYSQL+LW+基于JAVA的考研监督互助系统的设计与实现 源代码 配置 文档

基于JAVA的考研监督互助系统 1.项目描述2. 课题开发背景及意义3.项目功能4.界面展示5.源码获取 1.项目描述 随着高等教育的普及和就业竞争的加剧&#xff0c;越来越多的学生选择继续深造&#xff0c;参加研究生入学考试。考研人数的不断增加&#xff0c;使得考研过程中的学习监…...

《Java核心技术I》volatile字段

volatile字段 有多处理器的计算机能够暂时在寄存器或本地内存缓存中保存内存值&#xff0c;其结果是&#xff0c;运行在不同处理器上的线程可能看到同一个内存位置上有不同的值。编译器可以改变指令执行的顺序以使吞吐量更大化&#xff0c;编译器不会选择可能改变代码语义的顺…...

使用Hadoop MapReduce进行大规模数据爬取

Hadoop MapReduce概述 Hadoop MapReduce是一个编程模型&#xff0c;用于处理和生成大数据集。它由Map和Reduce两个主要阶段组成。Map阶段负责处理输入数据&#xff0c;并将结果输出为键值对&#xff1b;Reduce阶段则对Map阶段的输出进行汇总和合并&#xff0c;生成最终结果。 …...

git 删除大文件的方法

1 首先 首先要提交所有的更改 git filter-branch -f --prune-empty --index-filter “git rm -rf --cached --ignore-unmatch 文件相对路径复制到这里” --tag-name-filter cat – --all 2 提交 git commit -am “d” git push...

qt数据类型定义(包含签名)

先推荐一个处理markdown表格的网站&#xff0c;超级好用&#xff1a;markdown表格处理&#xff0c;我就是用这个表格处理的excel中的数据上传。 下表整理了数据类型的值范围、签名、qt如何定义等内容。 类型范围/子类型dbus签名qt支持的签名qt类型定义方式转换为variantint8(…...

2025美赛数学建模常用数据库网站大全

优秀模板写作红宝书数学模型获取——更多资料请点击下方名片进群获取。 一、可以查询美国各个领域经济指标的网站: olap.epsnet.com.cnhttps://www.ers.usda.gov/data-products/rice-yearbook/www.ers.usda.govU.S. Energy Information Administration (EIA) www.eia.govhttp…...

Vue 组件通信全面解析

Vue 组件通信全面解析&#xff1a;方式、原理、优缺点及最佳实践 在 Vue 开发中&#xff0c;组件通信是一个重要的核心问题。随着应用复杂度的增加&#xff0c;如何在组件之间有效传递数据、触发事件&#xff0c;直接影响代码的可维护性和可扩展性。Vue 提供了多种组件通信方式…...

node.js基础学习-express框架-路由及中间件(十)

一、前言 Express 是一个简洁、灵活的 Node.js Web 应用框架。它基于 Node.js 的内置 HTTP 模块构建&#xff0c;提供了一系列用于构建 Web 应用程序和 API 的功能&#xff0c;使开发者能够更高效地处理 HTTP 请求和响应&#xff0c;专注于业务逻辑的实现。 其特点包括简单易用…...

书生浦语第四期--基础岛-第六关

文章目录 使用opencompass进行模型评价配置KEY环境变量以及API模型接口配置数据集进行评测开始评测测评结束 使用opencompass进行模型评价 配置KEY环境变量以及API模型接口 配置数据集进行评测 开始评测 期间可能遇到没有下载的包 例如&#xff0c;我遇到了&#xff1a; No m…...

flinkSql中累计窗口CUMULATE

eventTime package com.bigdata.day08;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;public class _05_flinkSql_Cumulate_eventTime {/*** 累积窗口 eventTime* …...

Flutter项目初始化android版

1、本机系统环境 window11flutter sdk 版本flutter_windows_3.24.5-stable.zip (下载地址&#xff1a;https://docs.flutter.dev/get-started/install/windows/mobile)android studio 版本 Android Studio Giraffe | 2022.3.1vscode 2、VSCODE 配置flutter 安装flutter插件 …...

深度相机获取实时图像总结

问题详情&#xff1a;之前一直把曝光调整到50000&#xff0c;画面一直很流畅&#xff0c;知道领导要求将曝光改成500000时整个程序卡死了 问题解决&#xff1a; 首先怀疑是帧率太低的原因&#xff0c;控制变量后发现不是帧率的问题&#xff0c;看着代码很迷茫&#xff0c;领导…...

突击检查:Java面试之多线程并发篇(11)

前言 本来想着给自己放松一下&#xff0c;刷刷博客&#xff0c;突然被几道面试题难倒&#xff01;什么是多线程中的上下文切换&#xff1f;什么是Daemon线程&#xff1f;它有什么意义&#xff1f;乐观锁和悲观锁的理解及如何实现&#xff0c;有哪些实现方式&#xff1f;似乎有…...

大数据新视界 -- 大数据大厂之 Hive 临时表与视图:灵活数据处理的技巧(上)(29 / 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

鸿蒙应用获取wifi连接的ip地址(官方文档获取的格式转换成192.168.1.xxx格式)

目录 一.背景 二.官网流程 wifiManager.getLinkedInfo9+ 三.转换成192.168.xxx.xxx格式 一.背景 本次来学习如何获取到鸿蒙设备连接wifi后的ip地址,由于官网文档中获取的ip地址和我们平时看到的192:168:xxx:xxx有所不同,需要进行下转换,所以记录下,如下的流程是在OpenH…...

Elastic Cloud Serverless:深入探讨大规模自动扩展和性能压力测试

作者&#xff1a;来自 Elastic David Brimley, Jason Bryan, Gareth Ellis 及 Stewart Miles 深入了解 Elasticsearch Cloud Serverless 如何动态扩展以处理海量数据和复杂查询。我们探索其在实际条件下的性能&#xff0c;深入了解其可靠性、效率和可扩展性。 简介 Elastic Cl…...

Leetcode经典题5--轮转数组

题目描述 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 输入输出示例 &#xff1a; 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右…...

【蓝桥杯每日一题】扫雷

扫雷 知识点 2024-12-3 蓝桥杯每日一题 扫雷 dfs &#xff08;bfs也是可行的&#xff09; 题目大意 在一个二维平面上放置这N个炸雷&#xff0c;每个炸雷的信息有$(x_i,y_i,r_i) $&#xff0c;前两个是坐标信息&#xff0c;第三个是爆炸半径。然后会输入M个排雷火箭&#xff0…...

以nlp为例,区分BatchNorm、LayerNorm、GroupNorm、RMSNorm

以nlp中一个小批次数据&#xff0c;详细区分BatchNorm、LayerNorm、GroupNorm、RMSNorm。这几种归一化的不同。如下表格&#xff0c;从计算范围、统计量、计算复杂度以及应用场景等方面的差异给出。 方法计算范围统计量计算复杂度应用场景BatchNorm跨所有句子的同一维度使用批…...

(软件测试文档大全)测试计划,测试报告,测试方案,压力测试报告,性能测试,等保测评,安全扫描测试,日常运维检查测试,功能测试等全下载

1. 引言 1.1. 编写目的 1.2. 项目背景 1.3. 读者对象 1.4. 参考资料 1.5. 术语与缩略语 2. 测试策略 2.1. 测试完成标准 2.2. 测试类型 2.2.1. 功能测试 2.2.2. 性能测试 2.2.3. 安全性与访问控制测试 2.3. 测试工具 3. 测试技术 4. 测试资源 4.1. 人员安排 4.2. 测试环境 4.2.…...

在MySQL中执行sum case when报错:SUM does not exist

1. 报错 在pgsql中能正常运行的一段SQL在MySQL中运行的时候报错了&#xff1a; SELECT DATE( hr.handle_time ) AS statsDate,SUM ( CASE WHEN hma.app_type IN ( 2, 5 ) THEN ch_money ELSE 0 END ) AS aliPayAmt,SUM ( CASE WHEN hma.app_type IN ( 1, 4 ) THEN ch_money EL…...

SQL面试题——日期交叉问题 合并日期重叠的活动

日期交叉问题—合并日期重叠的活动 今天的需求背景和前面我们的一个面试题目的背景一样,只不过是具体的需求变了,可以先看一下我们之前的文章SQL面试题——日期交叉问题 计算活动的总天数 +------+----------+----------+ | id| stt| ett| +------+--------…...

科普文:一文搞懂Postman

1. 概叙 1.1 Postman简介 Postman是一款强大的接口测试工具&#xff0c;‌主要用于测试HTTP请求&#xff0c;‌支持各种HTTP请求方法&#xff0c;‌包括GET、‌POST、‌PUT、‌DELETE等&#xff0c;‌并且提供了丰富的功能来模拟和测试各种网络请求。‌ Postman官网上这样介…...

LearnOpenGL学习(模型加载 -- Assimp,网格,模型)

完整代码见&#xff1a;zaizai77/Cherno-OpenGL: OpenGL 小白学习之路 Assimp 3D建模工具如Blender、3DS Max在导出模型文件时&#xff0c;会自动生成所有的顶点坐标、顶点法线和纹理坐标。 .obj 格式只包含了模型数据和材质信息&#xff08;颜色、贴图等&#xff09; Assi…...

基于Pyhton的人脸识别(Python 3.12+face_recognition库)

使用Python进行人脸编码和比较 简介 在这个教程中&#xff0c;我们将学习如何使用Python和face_recognition库来加载图像、提取人脸编码&#xff0c;并比较两个人脸是否相似。face_recognition库是一个强大的工具&#xff0c;它基于dlib的深度学习模型&#xff0c;可以轻松实…...

Scala的模式匹配(2)

package hfdobject Test34_2 {//match case匹配元组//能根据元组元素的个数来匹配&#xff0c;不是一一精确的匹配值def main(args: Array[String]): Unit {val d1(1,2,3) // val d1(1,2,3,4) // val d1(1,2,3,4,5)val d:Anyd1 //d的类型是Anyd match {case (x,y,z)>…...

Java 初学者的第一个 SpringBoot 系统

Java 初学者的第一个 SpringBoot 系统 对编程初学者而言&#xff0c;都存在一个 “第一个系统” 的问题。有些学习者找不到自己的 “第一个系统”&#xff0c;他们即使再努力也没有办法了解完整的系统&#xff0c;即使他们把教科书里的所有程序都跑通了。但是&#xff0c;面对…...