【大模型系列篇】深度研究智能体技术演进:从DeepResearch到DeepResearcher,如何重构AI研究范式

DeepResearch 的概念与功能最早由 Google 在 Gemini 系列产品中推出,用于自动化生成结构化研究报告,近期底层依赖模型Gemini升级到了2.5 Pro。而我们常规认知的DeepResearch是由OpenAI推出的一款由优化版的 o3 模型驱动专注于深度研究和分析AI智能体产品。其主要功能包括自主分析复杂的专业信息,实时查找和综合数百个在线资源,最终生成一份专业水准的完整报告。DeepResearch能够运用推理能力,在互联网上搜索、解读和分析海量的文本、图像和PDF文件,并根据所遇到的信息灵活调整研究方向。

DeepResearcher⾸个基于强化学习(RL)在真实⽹络环境中端到端训练的⾃主研究型 AI 模型框架,强调动态规划与复杂任务研究能⼒。 模型通过与环境交互⾃主发展出规划、交叉验证、动态调整策略等能⼒,⽆需预设⼯作流。其核⼼创新在于直接处理动态、⽭盾的实时⽹络信息,⽽⾮静态知识库。主要是为了解决传统 RAG 和预定义⼯作流在开放性问题(如学术研究、实时⽹络信息整合)中的局限性, 适⽤于需要交叉验证、多源信息融合的深度研究任务。

关键区别:

DeepResearch 是OpenAI推出的面向深度研究领域的商业化智能体产品,旨在通过⾃动化流程提升研究报告⽣成效率; (2025-02-05)

DeepResearcher 是学术研究导向的框架,探索端到端强化学习在真实网络环境中的深度研究能⼒突破。(2025-04-03)

DeepResearch

OpenAI的DeepResearch是⾯向商业⽤户的⾼端研究⼯具,聚焦于⾃动化⽣成结构化研究报告,如市场分析、学术综述等。其核⼼优势在于通过端到端强化学习优化多步骤推理能⼒,并整合实时⽹络搜索与多模态数据处理(如图表⽣成、PDF解析)。

DeepSearcher

因为DeepResearch底层模型绑定了OpenAI,还没办法利用本地数据,所以ZillizTech借鉴了DeepResearch的Agentic RAG设计理念并定制化改造,发布了DeepSearcher开源框架,专注于企业级私有数据的⾼效检索与推理,⽀持本地知识库集成 (如Milvus向量数据库)和灵活的⼤模型切换(如DeepSeek-R1、本地LLM),适⽤于需要数据隐私保护的垂直领域场景。DeepSearcher也采用了动态规划与多步骤推理,通过将复杂问题拆解为⼦查询,并迭代优化检索结果,最终⽣成⾼质量答案。同时引入智能代理能力,实现⾃主决策。

DeepSearcher基于智能查询路由(Query Routing)和混合检索机制(语义+关键词),即结合语义检索(向量数据库)与关键词检索,提升复杂问题的召回率通过渐进式问题分解(如将主查询拆分为多个⼦查询)结合条件执⾏流程,降低对单⼀模型的依赖,⽀持本地化低延迟响应;并设置预算强制(Budget Enforcement),可设定 Token 或算⼒消耗上限,避免⽆限循环导致的资源浪费。

node-DeepResearch

node-DeepResearch 是一个由Jina AI 开源的 AI 智能体项目,旨在通过持续搜索和阅读网页,逐步推理并回答复杂问题。它基于 Gemini 语言模型和 Jina Reader 工具,能够处理从简单问题到多步推理的复杂任务。该项目提供了 Web Server API,方便用户通过 HTTP 请求提交查询并获取实时进度更新。

node-DeepResearch 的主要功能

  • 持续搜索与阅读:基于搜索引擎(如 Brave 或 DuckDuckGo)查找相关信息,阅读网页内容,直到找到问题的答案或超出设定的 token 预算。
  • 网页内容处理:基于 Jina Reader 将网页内容转换为适合语言模型处理的纯文本格式。Jina Reader 是开源工具,专门用于处理 HTML 网页内容。
  • 多步推理:处理复杂的多步问题,逐步分解问题并逐步解决。
  • 实时进度反馈:通过 Web Server API 提供实时进度更新,用户可以随时了解查询的进展情况。
  • 灵活的查询方式:支持从简单的事实性问题到复杂的开放式问题,例如预测未来的趋势或制定策略。

Local Deep Research

此外一款名为Local Deep Research的开源项目也横空出世,凭借完全免费、本地化运行、高度可定制的特性,迅速成为技术社区的热议焦点。

Local Deep Research是一款基于本地化部署的智能研究助手,旨在通过AI技术自动化完成复杂的信息收集、分析和报告生成任务。它的核心目标是为用户提供零成本、高灵活、隐私安全的研究解决方案,尤其适合个人开发者、学术研究者和初创企业。与OpenAI等商业工具不同,Local Deep Research完全开源,用户无需支付月费,且所有数据处理均在本地完成,彻底杜绝隐私泄露风险。

Local Deep Research采用轻量级模块化架构设计,支持灵活扩展。开发者可轻松替换搜索引擎、AI模型(如切换至开源模型R1)或集成自定义工具。通过动态生成搜索关键词和实时结果分析,系统能像人类研究员一样“边学边改”,优化提升信息筛选效率。可并行处理加速,利用多线程技术同时处理多个搜索任务,速度提升30%以上,5小时任务可压缩至3.5小时。

其他类似开源平替

  • Hugging Face的OpenDeepResearch 复刻 OpenAI Deep Research 核心能力的开源方案,支持自主浏览网页、处理文件及数据计算,性能接近闭源方案。可用于学术研究与复杂商业分析任务。
  • mshumer/OpenDeepResearcher是一个以 Jupyter Notebook 为实现形式的 AI 研究工具,它模拟了人类的研究过程,通过不断迭代搜索、筛选和整合信息,从而达到深度研究的目的。
  • nickscamara/open-deep-research 实验性开源克隆项目,轻量级且高效的 AI 研究代理,通过 Firecrawl 实现网络数据抓取与推理模型结合
  • 香港大学 Auto-Deep-Research 基于 AutoAgent 框架的全自动 AI 研究助手,支持多模型集成与灵活交互。

DeepResearcher

  • 论文标题:《DeepResearcher: Scaling Deep Research via Reinforcement Learning in Real-world Environments》

  • 论文地址:https://github.com/GAIR-NLP/DeepResearcher/blob/main/resources/DeepResearcher.pdf

  • 代码地址:https://github.com/GAIR-NLP/DeepResearcher

  • 模型地址:https://huggingface.co/GAIR/DeepResearcher-7b

虽然像 OpenAI Deep Research 这样的商业系统的技术细节仍然完全不透明。但研究表明,强化学习 (RL) 为改进 LLM 能力提供了一条有希望的道路。对数学和编码任务进行大规模强化学习可以显着提高它们的推理能力。对于开放域任务,OpenAI已经承认使用强化学习技术来增强其 DeepResearch 代理的能力,但详细的方法仍然是其专有的并且没有公开,在开放域任务研究中造成了重大差距。

目前将 RL 与信息检索相结合的开源工作,例如 Search-R1R1-Searcher ReSearch,主要关注使用静态、本地文本语料库进行检索增强生成 (RAG)。虽然这些方法提供了宝贵的见解,但它们从根本上无法捕捉现实世界网络搜索环境的动态和不可预测性。受控的 RAG 设置在高度清洗的环境中运行,并具有一个关键的局限性假设:所有必要的信息都存在于其固定的知识库中。这个假设在现实世界场景中崩溃了,因为信息可能缺失、过时或需要跨域合成,而这些域没有包含在初始知识库中。除了这个基本的局限性之外,RAG 系统也没有考虑到大量的噪声、搜索质量的可变性以及导航不同网络内容格式和结构的挑战。

DeepResearcher介绍

DeepResearcher是首次在真实网络环境中进行端到端强化学习训练的深度研究框架,全面研究了具有现实世界网络搜索能力的 LLM 代理的 RL 扩展。将训练代理直接与实时搜索引擎交互,从而学习处理开放网络的固有的可变性和复杂性。通过在真正的网络环境中而不是受控的模拟环境中进行训练,挖掘了处理现实世界信息检索和合成的不可预测性的强大能力。

DeepResearcher 与基于提示和基于 RAG 的搜索代理方法有着显著不同:

  • 强化学习 (RL): DeepResearcher 使用强化学习来训练代理,使其能够通过与环境交互来学习最佳行为策略。这使其能够超越人为设计的提示,并自主地开发出有效的搜索和推理策略。

  • 真实网络环境: DeepResearcher 在真实的网络环境中进行训练,而不是在受控的模拟环境中。这使得它能够处理现实世界信息检索的复杂性和不可预测性,例如噪声、搜索质量的可变性以及导航不同网络内容格式和结构的挑战。

  • 端到端训练: DeepResearcher 使用端到端训练,这意味着整个系统,包括语言模型和搜索引擎交互模块,都通过强化学习进行训练。这使代理能够学习到更全面和协调的行为策略。

  • 多代理框架: DeepResearcher 采用多代理框架,其中专门的浏览代理负责从整个网页中提取相关信息。这使其能够更有效地处理网络内容的多样性和复杂性。

  • 解决实施挑战: DeepResearcher 针对真实网络环境中特有的挑战,例如 API 速率限制、网页解析可变性、反爬虫机制和网络延迟问题,开发了专门的解决方案。这使得它能够在真实网络环境中稳定地运行。

DeepResearcher独特地将强化学习与在真实网络环境中的训练相结合。与主要关注静态、本地文本语料库的现有 RL 方法不同,它将训练代理直接与实时搜索引擎交互。这使得它能够处理开放网络的固有的可变性和复杂性,从而发展出强大的现实世界信息检索和合成能力。DeepResearcher的方法通过直接与网络环境的不可预测性进行交互来学习适应性搜索策略,从而克服了基于提示和 RAG 限制的方法的局限性。

端到端强化学习框架

  • 不依赖人类先验知识,让模型自主发现解决问题的策略。
  • 采用GRPO(Group Relative Policy Optimization)群体相对策略优化算法,通过直接与真实网络搜索引擎交互来训练代理。
  • 使用F1分数作为主要奖励指标,并对格式错误的回复处以惩罚,引导代理持续提升性能。

多智能体架构

DeepResearcher采用专门的多智能体架构,包括:

  • 主研究代理:处理问题分析和搜索策略。
  • 专门的浏览代理:负责从整个网页提取相关信息。
  • 智能体间协作:通过信息共享实现有效的知识提取和整合。

DeepResearcher训练架构

方法:深度研究推理轨迹

在 DeepResearcher 的推理轨迹中,智能体会根据用户问题和观测结果进行迭代推理与工具选择,在动态的真实世界环境中通过网页搜索解决问题。

  • 推理(Reasoning):DeepResearcher 在执行具体动作之前必须先进行推理。每次推理过程都被封装在 <think> 标签内,遵循 DeepSeek-R1 的设定。

  • 网页搜索工具(Web Search Tool):DeepResearcher 通过生成 JSON 格式的请求来调用网页搜索工具。搜索结果以结构化格式返回,每条结果包含标题(title)、URL 和摘要(snippet)。当前实现使用固定的 top-k(如 10) 作为搜索结果的检索参数。未来工作可以探索基于 LLM 的动态参数优化 以提升搜索效率。

  • 网页浏览智能体(Web Browsing Agent):网页浏览智能体为 DeepResearcher 系统提供可靠、与问题相关、且可增量更新的信息。具体而言,它对每个查询维护一个短期记忆库。当收到网页浏览请求时,智能体首先处理 URL 的第一页内容,然后基于查询、历史记忆和新获取的网页内容执行两种操作: 1. 判断是否需要继续读取下一个 URL / 页面片段,或者停止浏览。 2. 将相关信息追加到短期记忆库。 当智能体决定停止浏览时,它会整理短期记忆库中的新增信息并将其返回给 DeepResearcher 系统。

  • 回答生成(Answering):当模型判断已获取足够信息后,它会生成最终答案,并将其封装在 <answer></answer> 标签内返回给用户。

挑战:动态真实世界网络环境中的挑战

挑战一:单次高并发请求:GRPO 的实现导致了大量的采样迭代,从而导致大量的搜索查询和网页抓取操作(例如,4096 个),导致延迟很长。为了解决这个问题,我们创建了一个包含 50 个节点的分布式 CPU 服务器集群,专门设计用于管理 RL rollout 过程中生成的工具请求。每个服务器负责处理这些请求的一部分,处理搜索结果并根据语言模型确定的 URL 抓取网页以进行进一步阅读。

挑战二:管理网页抓取和 API 限制:在抓取阶段,系统经常遇到网络服务器部署的反爬虫措施,这可能会导致返回无关内容或完全无法响应。同样,在与搜索引擎或 LLM API 接口时,可能会出现诸如提供商速率限制(例如,每秒 200 次)之类的限制。为了缓解这些问题,我们实现了一个强大的重试机制,有效地解决了 API 调用或网页抓取过程中遇到的异常。此外,我们引入了搜索结果的缓存策略:如果在预定的时期(例如,7 天)内进行了相同的搜索查询,则系统会从缓存中检索结果。这种方法不仅可以减少 API 调用频率,还可以帮助管理相关成本,尤其是像 Google Search API 这样的昂贵服务。

挑战三:通过多代理方法优化信息提取:我们采用了一种多代理框架,其中专门的阅读代理负责从抓取的网页中提取相关信息。由于许多网页都很长,并且可能只包含有限的相关内容,因此这些页面被划分为较小的片段。阅读代理通过从第一页开始按顺序处理内容来模仿人类行为。在假设 URL 的初始片段主要包含无关信息的情况下,该网页可能无法产生效益,可以被跳过,这种方法可以更有效地分配资源,并提高整体信息提取的准确性。

数据:构建依赖搜索的训练数据集

1. 数据来源:

  • 开放域问答数据集: DeepResearcher 利用了现有的开放域问答数据集,这些数据集包含单跳和多跳问题,需要通过在线搜索才能找到准确的答案。具体而言,它使用了以下数据集:
    • 单跳场景: NaturalQuestions (NQ) 和 TriviaQA (TQ)
    • 多跳场景: HotpotQA 和 2WikiMultiHopQA (2Wiki)

2. 数据清洗:

  • 低质量问题过滤: 为了确保数据质量,DeepResearcher 排除了可能导致不可靠或有问题搜索结果的问题,如时间敏感问题、高度主观查询、潜在有害或违反政策的内容
  • 数据清洗工具: DeepSeek-R1 被用于数据清洗,通过精心设计的评估提示来识别和标记问题。

3. 污染检测:

  • 防止模型依赖记忆: 为了确保模型真正学习使用搜索工具,而不是仅仅依靠记忆,DeepResearcher 实施了污染检测程序。对于每个候选问题,它从将用于训练的基础模型中随机采样 10 个响应,并检查任何响应是否包含正确答案。如果模型表现出先验知识(即在没有搜索的情况下产生正确答案),则该问题将从训练集中排除。

4. 数据集规模和分布:

  • 最终训练数据集: DeepResearcher 的最终训练数据集包含 80,000 个示例,NQ:TQ:HotpotQA:2Wiki 的分布比例为 1:1:3:3。这种比例故意强调了多跳场景(75% 的示例),因为这些场景更好地反映了深度研究问题所需的复杂信息搜索行为。

DeepResearcher 的数据集构建和处理过程旨在确保数据质量,并防止模型仅仅依赖记忆,而是真正学习使用搜索工具进行深度研究。

优势:涌现的泛化能力

DeepResearcher 强化学习扩展(RL Scaling)训练是确保模型泛化能力的关键机制。通过在海量真实网络查询中不断试错和优化,模型能够逐步建立起对搜索策略的深刻理解,而非简单记忆特定查询 - 响应对。

  • 规划能⼒:能够在解决多跳问题时制定初始计划并动态调整。
  • 交叉验证:不⽴即采纳⾸次搜索结果,⽽是通过后续步骤验证其准确性。
  • ⾃我反思:当检索信息与预期不符时,能够反思并重定向研究⽅向。
  • 诚实度:当⽆法找到确定答案时能够承认局限性。

DeepResearcher性能和泛化能力

DeepResearcher 在各类评估基准上均表现出色。在训练领域内(ID )的测试中(包括 NQ、TQ、HotpotQA 和 2Wiki 数据集),系统比提示工程 Agent 提高了 28.9 点的性能,比基于 RAG 的 RL Agent 提高了高达 7.2 点。这一结果特别显著,因为它表明即使在高度竞争的基准测试中,真实环境训练仍能带来明显的性能提升。 

而在领域外(OOD)数据集上的表现也相当出色。在 MuSiQue、Bamboogle 和 PopQA 这三个与训练数据差异较大的测试集上,DeepResearcher 一致超越所有其他基线方法。这种跨领域的泛化能力证明系统不只是记住了特定分布的问答模式,而是真正学习了通用的研究技能。模型能够将在一种问题类型上学到的推理和搜索策略迁移到全新的问题领域,这对于实际应用至关重要。 

小结

DeepResearcher 创新性地提出了在真实世界网络环境中进行端到端强化学习训练深度研究智能体的框架,有效解决了传统方法在开放域任务中的局限性,通过多智能体架构和技术创新,显著提升了智能体的研究能力和泛化性,并揭示了涌现的规划、交叉验证、反思和诚实等认知行为,⾃主规划研究路径(如分解复杂问题为⼦任务),动态交叉验证信息可靠性(如对⽭盾搜索结果发起第⼆轮验证),处理开放域未⻅过的问题类型(泛化能⼒显著优于传统⽅法),强调了真实世界环境对于训练鲁棒智能体的根本重要性。

总结

两者虽然都采用 端到端强化学习(RL) 训练,但目标和环境存在本质差异。

OpenAI 的 DeepResearch,基于 o3 模型的 RL 训练专注于优化多步骤推理,例如通过“思维令牌”模拟人类逻辑推导过程,但其训练环境可能依赖 模拟网络环境上海交大 DeepResearcher,直接在 真实网络环境 中训练,通过 RL Scaling 实现自主规划、交叉验证与动态调整策略。例如,回答“电影先驱”问题时,模型会主动发起多轮搜索以验证信息可靠性。

OpenAI 的 DeepResearch 聚焦于 商业场景的效率提升(如快速生成报告),而 上海交大 DeepResearcher 开创了 自主研究型 AI 的新范式,通过真实环境 RL 赋予模型类人研究行为。

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

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

相关文章

PostgreSQL 如何查看端口号

PostgreSQL 如何查看端口号 PostgreSQL大多数情况下&#xff0c;默认端口是5432&#xff0c;但某些环境中可能配置为其它端口。 一 基本查询方法 1.1 psql 命令行工具查询 -- 方法1&#xff1a;查看当前连接信息&#xff08;包含端口&#xff09; \conninfo-- 方法2&#x…

淘宝大数据接口解析:商品类目 / 价格 / 销量多维数据采集与存储方案

一、引言 在电商领域&#xff0c;淘宝拥有海量的商品数据&#xff0c;这些数据对于商家的市场分析、营销策略制定以及消费者的购物决策都具有重要价值。本文将详细介绍如何通过淘宝大数据接口采集商品的类目、价格、销量等多维数据&#xff0c;并提供数据存储的方案&#xff0…

分库分表,分库策略是什么?

在Java面试中,分库分表是解决数据库性能瓶颈和扩展性问题的常见方案。分库策略主要关注如何将数据水平拆分到多个数据库实例中,以下是详细的分库策略解析: 一、分库策略的核心目标 负载均衡:分散数据存储和查询压力,避免单库成为性能瓶颈。扩展性:支持业务增长,通过增加…

STM32 HAL库SPI读写W25Q128(软件模拟+硬件spi)

1. 引言 在嵌入式系统开发中&#xff0c;SPI&#xff08;Serial Peripheral Interface&#xff09;总线是一种常用的串行通信协议&#xff0c;用于在微控制器和外部设备之间进行高速数据传输。W25Q128 是一款常见的 SPI Flash 芯片&#xff0c;具有 128Mbit&#xff08;16MB&a…

系统的安全及应用

仓库做了哪些优化 仓库源换成国内源不使用root用户登录将不必要的开机启动项关闭内核的调优 系统做了哪些安全加固 禁止使用root禁止使用弱命令将常见的 远程连接端口换掉 系统安全及应用 Cpu负载高 java程序 运行异常中病毒&#xff1f; ps aux - - sort %cpu %mem Cpu …

Java Lambda 表达式详解:发展史、语法、使用场景及代码示例

Java Lambda 表达式详解&#xff1a;发展史、语法、使用场景及代码示例 1. Lambda 表达式的发展史 背景与动机 JDK 7 前&#xff1a;Java的匿名内部类虽强大&#xff0c;但代码冗余&#xff08;如事件监听器、集合遍历&#xff09;。JDK 8&#xff08;2014&#xff09;&#…

Linux 命令全解析:从零开始掌握 Linux 命令行

Linux 作为一款强大的开源操作系统&#xff0c;广泛应用于服务器、嵌入式系统以及超级计算机领域。掌握 Linux 命令行技能&#xff0c;是每一位开发者和系统管理员的必备能力。本文将从基础开始&#xff0c;为你详细介绍常用的 Linux 命令&#xff0c;以及它们的使用场景和示例…

【已更新完毕】2025泰迪杯数据挖掘竞赛C题数学建模思路代码文章教学:竞赛智能客服机器人构建

完整内容请看文末最后的推广群 基于大模型的竞赛智能客服机器人构建 摘要 随着国内学科和技能竞赛的增多&#xff0c;参赛者对竞赛相关信息的需求不断上升&#xff0c;但传统人工客服存在效率低、成本高、服务不稳定和用户体验差的问题。因此&#xff0c;设计一款智能客服机器…

关于汽车辅助驾驶不同等级、技术对比、传感器差异及未来发展方向的详细分析

以下是关于汽车辅助驾驶不同等级、技术对比、传感器差异及未来发展方向的详细分析&#xff1a; 一、汽车辅助驾驶等级详解 根据SAE&#xff08;国际自动机工程师学会&#xff09;的标准&#xff0c;自动驾驶分为 L0到L5 六个等级&#xff1a; 1. L0&#xff08;无自动化&…

神经网络如何表示数据

神经网络是如何工作的&#xff1f;这是一个让新手和专家都感到困惑的问题。麻省理工学院计算机科学和人工智能实验室&#xff08;CSAIL&#xff09;的一个团队表示&#xff0c;理解这些表示&#xff0c;以及它们如何为神经网络从数据中学习的方式提供信息&#xff0c;对于提高深…

网络复习二(TCP【3】)

一、为什么TIME_WAIT等待的时间是2MSL&#xff1f; MSL&#xff1a;报文最大生存时间 我们要知道TCP报文是基于IP协议生存的&#xff0c;而在IP头中有一个TTL&#xff08;经过路由跳数&#xff09;&#xff0c;当TTL为0使&#xff0c;数据报被丢失&#xff0c;同时发送ICMP报…

Go:基本数据

文章目录 整数浮点数复数布尔值字符串字符串字面量UnicodeUTF - 8字符串和字节 slice字符串和数字的相互转换 常量常量生成器 iota无类型常量 整数 分类 Go 的整数类型按大小分有 8 位、16 位、32 位、64 位 &#xff0c;同时有符号整数包括int8、int16、int32、int64 &#…

0x03.Redis 通常应用于哪些场景?

回答重点 1)缓存(Cache): Redis 最常用的场景是作为缓存层,以减少数据库的负载,提高数据读取速度。例如,常用的用户会话数据和页面渲染结果可以存储在 Redis 中。2)分布式锁(Distributed Lock): Redis 可以用作分布式锁的实现,确保在分布式系统中资源的安全访问,避免…

大数据学习笔记

文章目录 1. 大数据概述1.1 大数据的特性1.2 大数据技术生态1.2.1 Hadoop 的概念特性1.2.2 Hadoop生态圈 — 核心组件与技术栈1.2.3 Hadoop生态演进趋势 2. 数据处理流程与技术栈2.1 数据采集2.1.1 日志采集工具2.1.2 实时数据流2.1.3 数据迁移 2.2 数据预处理2.2.1 批处理2.2.…

Spring Boot 自定义商标(Logo)的完整示例及配置说明( banner.txt 文件和配置文件属性信息)

Spring Boot 自定义商标&#xff08;Logo&#xff09;的完整示例及配置说明 1. Spring Boot 商标&#xff08;Banner&#xff09;功能概述 Spring Boot 在启动时会显示一个 ASCII 艺术的商标 LOGO&#xff08;默认为 Spring 的标志&#xff09;。开发者可通过以下方式自定义&a…

1. k8s的简介

Kubernetes&#xff08;k8s&#xff09;简介 1. 产生背景 随着云计算和微服务架构的兴起&#xff0c;传统的单体应用逐渐被拆分为多个小型、松耦合的服务&#xff08;微服务&#xff09;。这种架构虽然提升了开发灵活性和可维护性&#xff0c;但也带来了新的挑战&#xff1a;…

OpenCV 图形API(35)图像滤波-----中值模糊函数medianBlur()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 使用中值滤波器模糊图像。 该函数使用带有 ksizeksize 开口的中值滤波器来平滑图像。多通道图像的每个通道都是独立处理的。输出图像必须与输入…

03 UV

04 Display工具栏_哔哩哔哩_bilibili 讲的很棒 ctrlMMB 移动点 s 打针 ss 批量打针

PTA:古风排版

中国的古人写文字&#xff0c;是从右向左竖向排版的。本题就请你编写程序&#xff0c;把一段文字按古风排版。 输入格式&#xff1a; 输入在第一行给出一个正整数N&#xff08;<100&#xff09;&#xff0c;是每一列的字符数。第二行给出一个长度不超过1000的非空字符串&a…

每日一题(小白)暴力娱乐篇30

顺时针旋转&#xff0c;从上图中不难看出行列进行了变换。因为这是一道暴力可以解决的问题&#xff0c;我们直接尝试使用行列转换看能不能得到想要的结果。 public static void main(String[] args) {Scanner scan new Scanner(System.in);int nscan.nextInt();int mscan.next…