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

小白学Agent技术[5](Agent框架)

文章目录

  • Agent框架
    • Single Agent框架
      • BabyAGI
      • AutoGPT
      • HuggingGPT
      • HuggingGPT工作原理说明
      • GPT-Engineer
      • AppAgent
      • OS-Copilot
    • Multi-Agent框架
      • 斯坦福虚拟小镇
      • TaskWeaver
      • MetaGPT
      • 微软UFO
      • AgentScope
      • 现状
  • 常见Agent项目比较
    • 概述
    • 技术规格和能力
    • 实际应用案例
    • 开发体验比较
    • ChatChain模式

Agent框架

  • Agent课程地址
  • 提醒:Agent如果有文件系统访问权限,要在docker容器中运行保证安全性。

Single Agent框架

  • Single Agent框架优点:
  1. 简单性:设计、实现和管理相对简单,因为不需要考虑多个智能体之间的交互和协调问题。
  2. 专业性:可以针对特定任务进行优化,专注于执行单一任务,效率较高。
  3. 易于开发:由于系统组件较少,开发和部署速度更快。
  4. 成本效益:相比多智能体系统,单智能体系统通常需要较少的计算资源。
  • Single Agent框架缺点:
  1. 灵活性有限:对于需要多个智能体协作才能完成的复杂任务,单智能体系统可能无法提供最佳解决方案。
  2. 扩展性差:增加新功能或适应新环境可能需要重构整个系统。一旦面临极其错综复杂、计算量密集的任务,Single-Agent会遭遇算力瓶颈,无法高效完成处理,性能将大打折扣。
  3. 鲁棒性低:系统对故障的容忍度较低,单点故障可能导致整个系统失效。

BabyAGI

  • github项目
  • 文档
  • babyAGI决策流程:
    1. 根据需求分解任务;
    2. 对任务排列优先级;
    3. 执行任务并整合结果;
  • 作为早期agent的实践,babyagi框架简单实用,里面的任务优先级排序模块是一个比较独特的feature,后续的agent里大多看不到这个feature。
    在这里插入图片描述

AutoGPT

  • github项目
  • 文档
  • AutoGPT定位类似个人助理助用户完成指定的任务,如调研某个课题。AutoGPT比较强调对外部工具的便用,如搜索引擎、页面浏览等。同样,作为早期agent,autoGPT麻雀虽小五脏俱全,虽然也有很多缺点,比如无法控制选代次数、工具有限。但是后续的模仿者非常多,基于此演变出了非常多的框架

HuggingGPT

  • 论文
  • github项目
  • 由浙大&微软联合发布的一个大模型协作系统。研究者提出用ChatGPT作为任务规划器,连接HuggingFace社区中的各种Al模型,完成多模态复杂任务。整个过程只需要做的是:用自然语言将你的需求输出。
    在这里插入图片描述

HuggingGPT工作原理说明

  1. 任务规划:使用ChatGPT分析用户请求,将其分解为多个子任务,并规划任务顺序和依赖关系。
  2. 模型选择:根据HuggingFace中可用的功能描述选择模型。
  3. 任务执行:使用所选的AI模型执行每个子任务。
  4. 响应生成:根据AI模型执行结果进行总结和输出。

  • HuggingGPT的工作原理可以概括为以下几点:

  • 语言作为接口:HuggingGPT将语言作为连接LLM和AI模型的通用接口,通过将模型描述结合到提示中。使LLM能够管理AI模型,如计划、调度和合作。

  • 任务规划:LLM首先解析用户请求,将其分解为一系列结构化任务,并确定这些任务的依赖关系和执行顺序。

  • 模型选择:LLM根据HuggingFace中的模型描述,将解析后的任务分配给专家模型。

  • 任务执行:每个专家模型在推理端点上执行所分配的子任务,并将执行信息和推理结果记录到LLM。

  • 响应生成:最后,LLM总结执行过程日志和推理结果,并将摘要返回给用户。

  • HuggingGPT的亮点:HuggingGPT与AutoGPT的不同之处在于,它可以调用HuggingFace上不同的模型来完成更复杂的任务,从而提高了每个任务的精确度和准确率。然而,总体成本并没有降低太多。

GPT-Engineer

  • github项目
  • 文档
  • 基于langchaln开发,单一的工程师agent,解决编码场景的问题,目的是创建一个完整的代码仓库,在需要时要求用户额外输入补充信息。
  • 亮点:code-copilot的自动化升级版。

AppAgent

  • github项目
  • 论文
  • 基于ground-dino以及gptview模型做多模态处理的Agent。
  • 亮点:基于视觉/多模态appagent,os级别的agent,可以完成系统级别的操作,直接操控多个app。
  • 缺点:由于需要系统级权限、只支持安卓系统。

OS-Copilot

  • github项目
  • 论文
  • 文档
  • OS级别的Agent,FRIDAY能够从图片、视频或者文本中学习,并且能够执行一系列的计算机任务,比辑在Excel中绘图,或者创建一个网站。
  • 最重要的是,FRIDAY能够通过做任务来学习新的技能,就像人类一样,通过不断的尝试和练习变得更程长。
  • 亮点:自我学习改进,学习如何更有效地使用软件应用、执行特定任务的最佳实践等。

Multi-Agent框架

  • 论文Large Language Model based Multi-Agents:A Survey of Progress and Challenges

  • Exploring Collaboration Mechanisms for LLMAgents:A Social Psychology View

  • LONGAGENT:Scaling Language Models to 128k Context through Multi-Agent Collaboration

  • 将多个Agent,按照一定的工作流进行编排,每个Agent负责不同的任务,即组成了多智能体架构(Multi-Agent)。这非常类似于我们实际中的工作流程或组织

  • 结构:拥有不同能力的人,负责不同的任务,每个工序执行的结果给到下一个工序,最终得到最后的任务成果。


  • multiagent的例子,它允许不同角色的Agent完成任务,其中某个Agent撞长检索数据,余下的Agent则擅长数据分析或数据可视化。
  • 设计一个智慧城市的数据分析工作流,由于数据来源比较复杂,并且要同时考虑模型的经济和分析地高效,可以设计三个不同的Agent:
    1. Agent-1代理负责数据收集,从各种数据源(如气象部门、交通部门、环保部门的数据共享接口),收集原始数据,并进行去重、缺失值填补、格式转换等数据预处理工作。为了经济,使用GPT-3.5模型。
    2. Agent-2拿到Agent-1的结果,然后进行数据加载和深度数据分析,使用本地微调过的Mistral7B模型。
    3. Agent-3则负责最终的数据可视化,将上一步的数据分析结果展示为可视化图表,并提供用户界面,可以选择允许用户与可视化结果进行交互,如筛选、放大、导出等。

  • 优点:
    1. 协作性:智能体之间可以相互通信和协作,共同完成复杂任务。
    2. 灵活性和适应性:能够适应多变的环境和任务需求,智能体可以自主调整行为和策略。
    3. 可扩展性:通过增加更多的智能体来扩展系统的功能和处理能力。
    4. 鲁棒性和容错性:系统中的智能体可以互为备份,提高了系统的可靠性和容错性。
    5. 分布式处理:可以分散处理任务,提高效率和吞吐量。
    6. 专业化:每个智能体可以拥有特定领域的专业知识,提高问题解决能力。
  • 缺点:
    1. 复杂性高:需要设计和实现智能体之间的通信、协调和协作机制,增加了系统的复杂性。
    2. 开发难度大:相比单智能体系统,多智能体系统需要更多的开发工作和专业知识。
    3. 成本较高:可能需要更多的计算资源和开发投入,简单的问题singleAgent也能解决

  • 单智能体=大语言模型(LLM)+观察(obs)+思考(thought)+行动(act)+记忆(mem)
  • 多智能体=智能体+环境+SOP+评审+通信+成本

斯坦福虚拟小镇

  • github项目

  • 论文

  • 斯坦福虚拟小镇(Smallille)是一个由斯坦福大学和谷歌的研究人员创建的虚拟社区项目,旨在模拟人类行为。

  • 项目通过使用大型语言模型(LLM),特别是ChatGPTAPI,来实现25个AI智能体的自然语言交互和社会行为模拟。这些AI智能体在虚拟小镇中生活,他们有工作,会八卦,能组织社交活动,结交新朋友,甚至举办派对,每个"小镇居民“都有独特的个性和背景故事。Smallvile虚拟小镇包含了多种公共场景,如咖啡馆、酒吧、公园、学校、宿舍、房屋和商店,智能体可以在这些场景中自由活动,进入或离开场所,甚至与其他智能体打招呼和互动。这些智能体的行为模仿了人类的日常活动,例如果看到早餐着火了,会走过去关掉炉子;如果看到浴室有人,会在外面等待;如果遇到一个想交谈的个体丁会停下来聊天。虚拟小镇作为早期的multi-agent项目,很多设计也影响到了其他multi-agent框架,里面的反思和记忆检素feature,模拟人类的思考方式

  • 代理(Agents)感知他们的环境,当前代理所有的感知(完整的经历记录)都被保存在一个名为”记忆流”(memory stream)中。基于代理的感知,系统检索相关的记忆,然后便用这些检索到的行为来决定下一个行为。这些检索到的记忆也被用来形成长期计划,并创造出更高级的反思,这些都被输入到记忆流中以供未来使用。

TaskWeaver

  • github项目
  • 文档
  • TaskWeaver:面向数据分析任务,通过编码片段解释用户请求,并以函数的形式有效协调各种插件来执行数据分析任务。
  • TaskWeaver不仅仅是一个工具,更量一个复杂的离统,能够解释命令,将它们转换为代码,并精确地执行在势。
  • TaskWeaver的工作流程涉及几个关键组件和过程。它由三个关键组件组成:规划器(Planner)、代码生成器(CG)和代码执行器(CE)。
  • 代码生成器和代码执行器由代码解释器(CI)组成。
    在这里插入图片描述

MetaGPT

  • MetaGPT github项目
  • MetaGPT文档
  • MetaGPT是国内开源的一个Multi-Agent框架,目前整体社区活跃度较高和也不断有新feature出来,中文文档支持的很好。
  • MetaGPT输入一句话的老板需求,输出用户故事/竞品分析/需求/数据结构/APIs/文件等。
  • MetaGPT以软件公司方式组成,内部包括产品经理/架构师/项目经理/工程师,它提供了一个软件公司的全过程与精心调配的SOP。
    在这里插入图片描述
  • Pole特从Environment中_observeMessage。如果有一个Role_watch的特定Action引起的Message,那么这是一个有效的观察,触发Role的后续思考和操作。在_think中,Role将选择其能力范围内的一个Action并将其设置为要做的事情。在_act中,Role执行要做的事情,即运行Action并获取输出。将输出封装在Message中,最终publish_message到Environment,完成了一个完整的智能体运行。

微软UFO

  • 微软UFO github项目
  • UFO是面向Windows系统的Agent,结合自然语言和视觉操作WindowsGUI。
    在这里插入图片描述
  • UFO(UI-Focused Agent)的工作原理基于先进的视觉语言模型技术,特别是GPT-Vision。以及一个独特的双代理框架,使其能够理解和执行Windows操作系统中的图形用户界面(GUI)任务。
    以下是UFO工作原理的详细解释:
  1. 双代理框架双代理架构:UFO由两个主要代理组成,AppAgent和ActAgent,分别负责应用程序的选择与切换,以及在这些应用程序内执行具体动作。
    • 应用程序选择代理(AppAgent):负责决定为了完成用户请求需要启动或切换到哪个应用程序。它通过分析用户的自然语言指令和当前桌面的屏幕截图来做出选择。一旦确定了最适合的应用程序,AppAgent会制定一个全局计划来指导任务的执行。
    • 动作选择代理(ActAgent):一旦选择应用程序,ActAgent就会在该应用程序中执行具体的操作,如点击按钮、输入文本等。ActAgent利用应用程序的屏幕截图和控件信息来决定下一步最合适的操作,并通过控制交互模块将这些操作转化为对应用程序控件的实际动作。
  2. 控制交互模块UFO的控制交互模块是将代理识别的动作转换为应用程序中实际执行的关键组成部分。这个模块使UFO能够直接与应用程序的GUI元素进行交互,执行如点击、拖动、文本输入等操作,而无需人工干预。
  3. 多模态输入处理UFO能够处理多种类型的输入,包括文本(用户的自然语言指令)和图像(应用程序的屏幕截图)。这便UFO能够理解当前GUI的状态、可用控件和它们的属性,从而做出准确的操作决策。
  4. 用户请求解析当接收到用户的自然语言指令时,UFO首先解析这些指令,以确定用户的意图和所需完成的任务。然后,它将这个任务分解成一系列子任务或操作步骤,这些步骤被AppAgent和ActAgent按顺序执行。
  5. 应用程序间的无缝切换如果完成用户请求需要多个应用程序的操作,UFO能够在这些应用程序之间无缝切换。它通过AppAgent来决定何时以及如何切换应用程序,并通过ActAgent在每个应用程序中执行具体的操作。
  6. 自然语言命令到GUI操作的映射UFO的核心功能之一是将用户的自然语言命令映射到具体的GUI操作上。这一过程涉及到理解命令的意图,识别相关的GUI元素。以及生成和执行操作这些元素的动作。通过这种方式,UFO可以自动完成从文档编辑和信息提取到电子邮件撰写和发送等一系列复杂的任务,大大提高用户在Windows操作系统中工作的效率和便捷性。
    在这里插入图片描述

AgentScope

  • AgentScope github项目
  • AgentScope 论文
  • AgentScope agent平台
  • 阿里开源的Multi-agent框架,亮点是支持分布式框架,并且做了工程链路上的优化及监控。
    在这里插入图片描述

现状

  • Multi-Agent并不是Agent框架的终态,Multi-Agent框架是当前有限的LLM能力背景下的产物,更多还是为了解决当前LLM的能力缺陷,通过LLM多次迭代、弥补一些显而易见的错误,不同框架间仍然存在着极高的学习和开发成本。
  • 随着LLM能力的提升,未来的Agent框架肯定会朝着更加的简单、易用的方向发展
  • 游戏场景(npc对话、游戏素材生产)、内容生产、私域助理、OS级别智能体、部分工作的提效
  • 在利用LLM多智体解决各种任务方面取得了有希望的结果,如软件开发、多机器人系统、社会模拟、策略模拟和游戏模拟。
  • 由于该领域跨学科研究的性质,它吸引了各种各样的研究人员,从A专家扩展到社会科学、心理学和政策研究专家。研究论文的数量正在迅速增加。

常见Agent项目比较

LangGraphAutogenCrewai
开发难度
拓展性
集成能力中断

概述

  • LangGraph:一个基于图的多智能体系统开发平台,可以创建复杂的智能体交互。
  • Autogen:一个自动代码生成平台,通过自动代码生成简化了多智能体系统的开发过程。
  • Crewai:一个云平台,提供可扩展和安全的解决方案,适用于复杂的多智能体系统开发。

技术规格和能力

  • 架构:LangGraph采用图架构,Autogen便用自动代码生成方法,而Crewai便用云基础设施。
  • 可扩展性:三者都能扩展,但复杂度不同。
  • 集成能力:Autogen的集成能力较强,更易于集成多个系统和服务。

实际应用案例

  • LangGraph:一家物流公司利用LangGraph优化了供应链管理,减少了25%的交货时间。
    0 Autogen:一家金融机构利用Autogen开发了一个用于投资组合优化的多智能体系统,提高了投资回报率。
  • Crewai:一个研究团队利用Crewai的云基础设施部署了一个气候模型,提高了预测准确性和决策质量。

开发体验比较

  • LangGraph:开发过程较为复杂,需要理解图系统的知识。
  • Autogen:自动代码生成使得开发过程更简单,易于开发者便用。
  • Crewai:云基础设施对不熟悉云计算的开发者来说可能有一定难度

ChatChain模式

  • 本质上,通过相互聊天能完善用户需求,能详细生成推理步骤,能提升模型规划能力,正确拆解任务。
  • crewa和AutoGen等项目采用ChatChain模式的原因在于,这种模式特别适合于构建能够协同工作的多代理系统,通过代理间的对话和协作来解决问题。

以下是ChatChain模式的相关信息:

  • 代理协作:ChatChain模式允许创建多个代理,这些代理可以相互对话,共同完成任务。这种模式非常适合需要多个步骤或多个参与者协同工作的场景。
  • 任务分解与分配:在ChatChain中,复杂的任务可以被分解成多个子任务,并由不同的代理负责处理。这种任务分解和分配的方式提高了处理复杂问题的效率。
  • 灵活性与可扩展性:ChatChain模式支持多种会话模式,如双代理聊天、顺序聊天、群聊等,使得系统可以根据不同的需求灵活调整代理间的交互方式。

相关文章:

小白学Agent技术[5](Agent框架)

文章目录 Agent框架Single Agent框架BabyAGIAutoGPTHuggingGPTHuggingGPT工作原理说明GPT-EngineerAppAgentOS-Copilot Multi-Agent框架斯坦福虚拟小镇TaskWeaverMetaGPT微软UFOAgentScope现状 常见Agent项目比较概述技术规格和能力实际应用案例开发体验比较ChatChain模式 Agen…...

SpringBoot为什么流行以及能解决什么问题?

Spring Boot 之所以流行,主要是因为它极大地简化了 Spring 应用的开发,提供了一种开箱即用的体验,使开发者能够快速构建独立运行的、生产级的 Spring 应用。 Spring Boot 为什么流行? 简化配置 传统 Spring 需要大量 XML 或 Java…...

MySQL -- 数据类型

1、数据库的基础数据类型 TINYINT INT BIGINT FLOAT DECIMAL CHAR VARCHAR TEXT BLOB DATE DATETIME TIMESTAMP SET ENUM 2、不同数据类型区别以及作用 1、数值类型 1.1 整数类型 1.1.1 TINYINT 这里我们以TINYINT这个类型为例,解释一下在mysql中…...

TypeScript 中 interface 与 type的使用注意事项 及区别详细介绍

interfact 与 type 的区别及使用方法 一、 interfact 与 type主要区别 二、 interfact 与 type具体用法 1. 定义对象类型 interface 的典型用法: interface Person {name: string;age: number;greet(): void; }type 的等效定义: type Person {name…...

使用位运算如何找到数组中只出现一次的数?

题目链接:137. 只出现一次的数字 II - 力扣(LeetCode) 算法解析 位运算是用于二进制的运算符号。而对于多次出现的数字,其二进制都是一模一样的,这里是3次重复的出现是数字。由此我们可以想到,如果我们由低…...

复变函数摘记1

复变函数摘记1 1. 基本概念1.1 复数、复变函数1.2 复变函数的极限、连续性1.3 复变函数的导数、微分1.4 解析函数、柯西-黎曼方程 2. 复变函数的积分2.1 复变函数的曲线积分2.2 柯西-古萨基本定理、复合闭路定理2.3 复变函数的不定积分2.4 柯西积分公式、高阶导数 \quad 本文摘…...

(2025|ICLR|厦大华为,LoSA,基于表示互信息的动态层级稀疏率,基于重构误差的秩分配)LLM 的动态低秩稀疏自适应

Dynamic Low-Rank Sparse Adaptation for Large Language Models 目录 1. 引言 1.1 关键词 2. 方法 2.1 预备知识 2.2 层级稀疏率确定 2.3 稀疏感知的秩分配 2.4 动态稀疏与适配 3. 实验 3.1 实验设置 3.2 语言建模 3.3 零样本任务 3.4 N:M 稀疏性 3.5 消融实验 …...

暨南大学智科人工智能复试模拟

本人初试统招线以外,复试逆袭上岸!!!复试中的笔试和面试尤为重要,笔试固然重要但是面试的不确定性更强。另外,很多同学在复试之前可能都没有完整的走过一遍复试面试的流程,这里建议大家最好是能…...

编译器视角下的 C++ 异常:探究 throw 与 catch 的编译原理

目录 0.写在前面 1.C异常概念 异常的定义: 异常处理的基本组成部分: 1. throw表达式 2. try块 3. catch块 2. 异常的使用 异常的抛出和匹配原则: 在函数调用链中异常栈展开匹配原则: 3.异常的重新抛出 4.异常安全 异…...

测试淘宝评论接口返回数据的详细说明

在电商数据分析、用户体验优化和竞品分析中,获取商品评论数据是一项重要的功能。淘宝开放平台提供了商品评论的 API 接口,允许开发者通过合法的方式获取商品的用户评论数据。本文将详细介绍如何测试淘宝评论接口的返回数据,包括接口调用步骤、…...

【微知】plantuml在泳道图中如何将几个步骤放入一个框中?(group “sub框1“; end !! “sub框1“)

背景 将几个步骤放在一起画个框,分区方便 命令 用法: group 和 end 关键字 用法: group "sub框1"User -> User: 模板渲染User -> User: 返回 HTMLend !! "sub框1" 这里!!是注释实操 修改前: 修改…...

深入解析 React 最新特性:革新、应用与最佳实践

深入解析 React 最新特性:革新、应用与最佳实践 1. 引言 React 作为前端开发的核心技术之一,近年来不断推出 新的 API 和优化机制,从 Concurrent Rendering(并发模式) 到 Server Components(服务器组件&a…...

C语言之数据结构:理解什么是数据结构和算法(启航)

引言 启航篇,理解什么是数据结构和算法 在 C 语言编程领域,数据结构和算法是两个核心且紧密相关的概念 一、数据结构 定义 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合(比如数组),它是组织和存储数…...

【21】单片机编程核心技巧:if语句逻辑与真假判断

【21】单片机编程核心技巧:if语句逻辑与真假判断 七律 条件分野 if语句判真假,括号条件定乾坤。 非零为真零为假,大括号内藏玄门。 省略虽简风险在,代码规范护本根。 单片逻辑由心控,条件分支自成文。 注释&#xf…...

hackme靶机通关攻略

第一步:确定靶机IP 第二步:使用御剑后台扫描工具扫描敏感文件 第三步:访问register.php注册登录,进入welcome.php页面 第四步:访问一个不存在的页面,确定网站使用的中间件是Apache(无用&#xf…...

网络安全演练有哪些形式

OPENVAS使用 1、确定指定IP是否能ping通 2、创建扫描目标 3、创建扫描任务(scan management →newtask) 4、开始任务start 5、查看扫描细节 6、查看扫描结果,包含漏洞详细信息,亦可到处PDF文件 7、导出扫描结果报告 8、为…...

PE,ELF,COFF

本文来自 (1)腾讯元宝 (2)程序员的自我修养 PE(Portable Executable)是一种文件格式,主要用于Windows操作系统中的可执行文件(如.exe、.dll、.sys等)。PE格式是Windows操作系统中标准的可执行文件格式,由…...

sql靶场-时间盲注(第九、十关)保姆级教程

目录 时间盲注(第九、十关) 1.判断 2.确认时间盲注 2.手工尝试时间盲注 数据库名长度 数据库名字符 表数 表名长度 表名字符 字段数 字段名长度 字段名字符 4.脚本时间盲注注入 5.第十关 时间盲注(第九、十关) 1.判…...

常见FUZZ姿势与工具实战:从未知目录到备份文件漏洞挖掘

本文仅供学习交流使用,严禁用于非法用途。未经授权,禁止对任何网站或系统进行未授权的测试或攻击。因使用本文所述技术造成的任何后果,由使用者自行承担。请严格遵守《网络安全法》及相关法律法规! 目录 本文仅供学习交流使用&am…...

【linux】解决 Linux 系统中 root 用户无法打开图形界面问题

【linux】解决 Linux 系统中 root 用户无法打开图形界面问题 问题描述: 在 Linux 系统中,当我们远程SSH尝试以 root 用户身份运行需要图形界面的应用程序时,可能会遇到以下错误信息: MoTTY X11 proxy: Unsupported authorisati…...

数据库系统概念全面解析

数据库系统可能看起来很抽象,但其实它们就像我们生活中的许多事物一样,有着清晰的结构和规则。让我们通过一些有趣的生活例子来理解这些概念。 一、数据库系统基础 想象一个图书馆: - 数据库管理系统(DBMS) 就像图书馆的管理员 - 数据库(DB…...

unity Rigidbody2D、Collider2D参数详解

Rigidbody2D属性: BodyType:类别Simulated:模拟,是否模拟真实物理效果。Use Auto Mass:使用自动质量,根据BoxCollider2D大小来设定Mass:质量。Linear Drag:影响位置移动的阻力系数An…...

es-索引详解

在 Elasticsearch 中,**索引(Index)**是核心概念之一,类似于关系型数据库中的“表”。索引用于存储、组织和检索文档(Document)。以下是关于 Elasticsearch 索引的详细解析: 1. 索引的基本概念 …...

SpringBoot3+Lombok如何配置logback输出日志到文件

Background/Requirement SpringBoot3Lombok如何配置logback输出日志到文件,因为我需要对这些日志进行输出,控制台输出和文件输出,文件输出是为了更好的作为AuditLog且支持滚动式备份,每天一个文件。 Technical Solution 1.确保你…...

城市客运安全员适合哪几类人报考

城市客运安全员适合以下几类人报考: 相关专业人员:交通工程、安全工程、交通运输管理等相关专业的人员,他们在学校系统学习过交通安全、运输管理、安全管理等方面的知识,具备扎实的理论基础,更容易理解和掌握城市客运…...

Elasticsearch 解析 updateTime 字段时格式错误

遇到的问题: {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse field [updateTime] of type [date] in document with id 57"}],"type":"mapper_parsing…...

Windows远程桌面黑屏怎么办?

在使用Windows远程桌面连接另一台电脑时,用户经常会遇到Windows远程桌面黑屏的问题。那么,该如何有效地解决Windows远程桌面黑屏的问题呢?遇到远程桌面连接黑屏的问题时,可以通过在本地组策略编辑器中禁用WDDM图形显示驱动来解决。…...

计算机视觉|超详细!Meta视觉大模型Segment Anything(SAM)源码解剖

一、引言 在计算机视觉领域,图像分割是一个核心且具有挑战性的任务,旨在将图像中的不同物体或区域进行划分和识别,广泛应用于自动驾驶、医学影像分析、安防监控等领域。Segment Anything Model(SAM)由 Meta AI 实验室…...

【不动产登记全解析】范围、内容与不予登记的情形

在现代经济社会中,不动产作为重要的资产形式,其权利的确立与流转离不开规范的登记制度。今天,我们就来深入探讨不动产登记的三大核心议题:登记的广泛范围、登记簿上的必备记载事项,以及在哪些情况下不动产登记将不会被…...

机器学习之距离度量方法

常见的距离度量方法及相关函数、图示如下: 1. 欧几里得距离(Euclidean Distance) 函数公式:对于两个 ( n ) 维向量 ( x = ( x 1 , x 2 , ⋯   ,...

2340单点修改、区间查询

2340单点修改、区间查询 ⭐️难度:中等 🌟考点:线段树 📖 📚 import java.util.Scanner;public class Main {static int N 100010;static int n;static int[] c new int[N];static int lowbit(int x){ // 求loub…...

Go语言 vs Java语言:核心差异与适用场景解析

在当今的软件开发领域,Go(Golang)和Java都是备受关注的后端开发语言。尽管二者都能构建高性能服务,但它们在设计哲学、语法特性和应用场景上存在显著差异。本文将从多个维度对比这两种语言,帮助开发者更好地理解它们的…...

18 | 实现简洁架构的 Handler 层

提示: 所有体系课见专栏:Go 项目开发极速入门实战课;欢迎加入 云原生 AI 实战 星球,12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力(聚焦于 Go、云原生、AI Infra);本节课最终…...

谷歌Gemma 3:开启AI新纪元的强大引擎

摘要 谷歌公司今日宣布推出最新版本的人工智能模型——Gemma 3。该模型基于Gemini AI技术,是继一年前两款“开放”Gemma AI模型后的进一步发展。Gemma 3以其卓越性能著称,能够在单个GPU上运行,成为迄今为止最强大的AI模型之一。这一技术升级标…...

【Java项目】基于JSP的电子商城系统

【Java项目】基于JSP的电子商城系统 技术简介:采用JSP技术、B/S结构、MYSQL数据库等实现。 系统简介:该电子商城系统包括用户、医生和管理员。其主要功能包括管理员:个人中心、用户管理、医生管理、药品信息管理、线上诊疗管理、医生信息管理…...

双 Token 无感刷新机制在前后端分离架构中实现

在前后端分离的架构中,双 Token 无感刷新是一种常见的身份验证机制,用于在 Access Token 过期时,通过 Refresh Token 自动获取新的 Access Token,从而避免用户频繁登录。 1. 双 Token 无感刷新的核心流程 1.1 核心流程 用户登录&…...

Linux中的基本指令(下)

目录 mv指令 more指令 less指令 head指令 tail 指令 继续理解文件 重定向和追加重定向操作 理解管道 find指令 whereis 指令 bc指令 uname ‒r指令 grep 指令 关机 扩展命令 zip/unzip 指令 tar指令 关于rzsz 系统间的文件互传 接上! mv指令 m…...

电子电气架构 --- 智能电动汽车概述

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人生是一场骗局,最大的任务根本不是什么买车买房,也不是及时行乐,这就…...

Unity | 工具类:消息管理器-延迟分发

目录 一、消息管理器 二、获得新装备 三、UI面板创建 消息管理器除了简单的订阅(Subscribe)、取消订阅(Unsubscribe)操作以外,还需处理延迟分发(Dispatch)的情况。 (即时处理可参考:Unity | 工具类-利用事件系统进行业务串通-CSDN博客&…...

医院本地化DeepSeek R1对接混合数据库技术实战方案研讨

1. 引言 Deep SEEK R1是一个医疗智能化平台,通过本地化部署实现数据的安全性和可控性,同时提供高效的计算能力。随着医疗信息化的迅速发展,各种数据源的增加使得医院面临更多复杂的挑战,包括如何处理实时监测数据、如何进行大数据环境下的复杂查询以及如何整合多模态数据等…...

GPU加速的国密SM2算法实现

目录 GPU加速的国密SM2算法实现一、前言二、国密SM2算法概述2.1 国密SM2算法背景2.2 SM2的数学基础2.3 SM2数字签名流程三、GPU加速在SM2算法中的应用3.1 高性能运算需求3.2 GPU加速优势3.3 加速实现思路四、基于Python的SM2算法实现与GPU加速4.1 算法模块设计4.2 主要数学公式…...

《UE5_C++多人TPS完整教程》学习笔记35 ——《P36 武器类(Weapon Class)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P36 武器类(Weapon Class)》 的学习笔记,该系列教学视频为计算机工程师、程序员、游戏开发者、作家(Engineer, Programmer, Game Developer, Author) Stephen …...

Linux——Shell运行原理以及Linux权限

目录 1. Shell的运行原理 2. Linux中的权限问题 2.1 Linux权限的概念 2.1.1 如何实现用户账号之间的切换 2.1.2 如何将普通用户添加到信任列表中 2.1.3 如何仅提升当前指令的权限 2.2 Linux权限管理 2.2.1 文件访问者的分类(人) 2.2.2 文件类型…...

SpringBoot注解驱动CRUD工具:spring-avue-plus

项目背景 作为一个后端小伙伴,最大的痛点就是写完的接口需要拥有一些可视化的页面去承载这些功能使用【如果是只给后端那么swagger也足够了,非后端有点呛】如果有专业前端去弄确实也快,但是小公司呀~~~ 学呗~妈呀,现在的前端也挺…...

Redis 数据持久化之AOF

AOF(Append Only File) 以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换…...

API调试工具的无解困境:白名单、动态IP与平台设计问题

引言 你是否曾经在开发中遇到过这样的尴尬情形:你打开了平台的API调试工具,准备一番操作,结果却发现根本无法连接到平台?别急,问题出在调试工具本身。今天我们要吐槽的就是那些神奇的开放平台API调试工具,…...

git commit messege 模板设置 (规范化管理git)

配置方法 git config --global core.editor vim (设置 Git 的默认编辑器为 Vim)在用户根目录下(~),创建一个.git_commit_msg文件,然后把下面的内容拷贝到文件中并保存。 [version][模块][类型]{解决xxx问题…...

串口通信ASCII码转16进制及C#串口编程完整源码下载

在工业自动化、嵌入式系统及物联网以行业中,串口编程非常重要。 串口编程,重点在于串口数据通信和数据处理。 在C#中,System.IO.Ports命名空间提供了SerialPort类,用于实现串口通信。 串口程序的开发主要包括以下几点 1.引用命…...

第十一届蓝桥杯单片机国赛

什么?4T模拟赛和省赛做起来轻轻松松?不妨来挑战一下第十一届国赛,这一届的国赛居然没考超声波、串口通信!只要你正确地理解了题目的意思,规避出题人挖的坑,拿个国一轻轻松松。 附件:第十一届蓝桥…...

Ateme在云端构建可扩展视频流播平台

Akamai Connected Cloud帮助Ateme客户向全球观众分发最高质量视频内容。 “付费电视运营商和内容提供商现在可以在Akamai Connected Cloud上通过高质量视频吸引观众,并轻松扩展。”── Ateme首席战略官Rmi Beaudouin ​ Ateme是全球领先的视频压缩和传输解决方案提…...