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

【拥抱AI】Deer-Flow字节跳动开源的多智能体深度研究框架

最近发现一款可以对标甚至可能超越GPT-Researcher的AI深度研究应用,Deer-Flow(Deep Exploration and Efficient Research Flow)作为字节跳动近期开源的重量级项目,正以其模块化、灵活性和人机协同能力引发广泛关注。该项目基于 LangGraphLangChain 框架构建,旨在通过整合语言模型(LLM)与专业工具链(如网络搜索、爬虫、代码执行),实现端到端的复杂研究流程自动化,同时为开发者提供高度可扩展的二次开发空间。

核心特点
  1. 多智能体协作架构
    Deer-Flow采用模块化设计,将研究任务分解为协调器、规划器、研究团队(研究员、编码员)和报告生成器等角色,各智能体通过定义良好的消息系统协同工作。这种架构不仅提升了任务执行效率,还支持动态调整研究路径。
  2. 工具链深度集成
    支持 TavilyBrave Search 等搜索引擎,结合 Jina 爬虫与 Python REPL 工具,覆盖从数据采集到代码分析的全流程。此外,通过 MCP 平台扩展私有数据访问能力,满足企业级需求。
  3. 人机交互与内容生成
    用户可通过自然语言实时修改研究计划,并利用类 Notion 的块编辑功能优化报告。其 AI 辅助生成 能力支持播客脚本、PPT 及结构化报告的一键生成,结合火山引擎 TTS 实现多模态输出。
  4. 开源与中文友好
    采用 MIT 许可证,支持本地化部署与私有数据接入,原生适配中文研究场景,降低技术门槛。
以下跟前段时间认识的 GPT-Researcher 简单的作一些对比

尽管两者均致力于自动化研究,Deer-FlowGPT-Researcher 在架构与应用场景上存在显著差异:

  • 架构设计
    GPT-Researcher 以 Plan-and-Solve 为核心,通过并行处理子任务提升效率,但依赖单一代理执行流程,最新的GPT-Researcher是支持多Agent执行任务,也是使用LangGraph,但总体流程还是没有变;

    而 Deer-Flow 的 多智能体系统 通过分工协作(如研究员负责信息收集、编码员处理技术任务)增强了复杂任务的处理能力与可追溯性,过程有“反思”,中途可干预,结果可修正

  • 工具链与扩展性
    GPT-Researcher 虽支持多种 LLM 配置,但其工具集成相对有限,需依赖外部插件扩展功能。Deer-Flow 则内置 模块化工具链(如爬虫、代码执行),并支持无缝集成企业级 MCP 平台,适用性更广。

  • 内容生成与交互
    GPT-Researcher 专注于生成文本报告,而 Deer-Flow 提供 多模态输出(音频、PPT)及交互式编辑功能,更贴近实际研究场景的多样性需求。

个人还是比较看好Deer-Flow未来的发展,它凭借其多智能体架构、工具链深度整合及开源生态,为学术研究、商业分析等领域提供了高效且可定制的解决方案。相较于 GPT-Researcher,它在复杂任务处理、多模态输出及本土化适配方面更具优势,展现了开源框架在AI研究自动化中的独特价值。

废话就说到这里,下面我们一起来了解一下它。
以下引用DeerFlow 的官方网站内容。

视频演示

由于平台不支持github地址直接播放,只能请小伙伴自行前往观看。官方视频演示地址 https://github.com/user-attachments/assets/f3786598-1f2a-4d07-919e-8b99dfa1de3e

在官方的演示中,展示了如何使用 DeerFlow:

  • 无缝集成 MCP 服务
  • 进行深度研究过程并生成包含图像的综合报告
  • 基于生成的报告创建播客音频

快速开始

DeerFlow 使用 Python 开发,并配有用 Node.js 编写的 Web UI。为确保顺利的设置过程,我们推荐使用以下工具:

推荐工具

  • uv:
    简化 Python 环境和依赖管理。uv会自动在根目录创建虚拟环境并为您安装所有必需的包—无需手动安装 Python 环境。

  • nvm:
    轻松管理多个 Node.js 运行时版本。

  • pnpm:
    安装和管理 Node.js 项目的依赖。

环境要求

确保您的系统满足以下最低要求:

  • Python: 版本 3.12+
  • Node.js: 版本 22+

安装

# 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow# 安装依赖,uv将负责Python解释器和虚拟环境的创建,并安装所需的包
uv sync# 使用您的API密钥配置.env
# Tavily: https://app.tavily.com/home
# Brave_SEARCH: https://brave.com/search/api/
# 火山引擎TTS: 如果您有TTS凭证,请添加
cp .env.example .env# 查看下方的"支持的搜索引擎"和"文本转语音集成"部分了解所有可用选项# 为您的LLM模型和API密钥配置conf.yaml
# 请参阅'docs/configuration_guide.md'获取更多详情
cp conf.yaml.example conf.yaml# 安装marp用于PPT生成
# https://github.com/marp-team/marp-cli?tab=readme-ov-file#use-package-manager
brew install marp-cli

可选,通过pnpm安装 Web UI 依赖:

cd deer-flow/web
pnpm install

配置

请参阅配置指南获取更多详情。

[!注意]
在启动项目之前,请仔细阅读指南,并更新配置以匹配您的特定设置和要求。

控制台 UI

运行项目的最快方法是使用控制台 UI。

# 在类bash的shell中运行项目
uv run main.py

Web UI

本项目还包括一个 Web UI,提供更加动态和引人入胜的交互体验。

[!注意]
您需要先安装 Web UI 的依赖。

# 在开发模式下同时运行后端和前端服务器
# 在macOS/Linux上
./bootstrap.sh -d# 在Windows上
bootstrap.bat -d

打开浏览器并访问http://localhost:3000探索 Web UI。

web目录中探索更多详情。

支持的搜索引擎

DeerFlow 支持多种搜索引擎,可以在.env文件中通过SEARCH_API变量进行配置:

  • Tavily(默认):专为 AI 应用设计的专业搜索 API

    • 需要在.env文件中设置TAVILY_API_KEY
    • 注册地址:https://app.tavily.com/home
  • DuckDuckGo:注重隐私的搜索引擎

    • 无需 API 密钥
  • Brave Search:具有高级功能的注重隐私的搜索引擎

    • 需要在.env文件中设置BRAVE_SEARCH_API_KEY
    • 注册地址:https://brave.com/search/api/
  • Arxiv:用于学术研究的科学论文搜索

    • 无需 API 密钥
    • 专为科学和学术论文设计

要配置您首选的搜索引擎,请在.env文件中设置SEARCH_API变量:

# 选择一个:tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily

特性

核心能力

  • 🤖 LLM 集成
    • 通过litellm支持集成大多数模型
    • 支持开源模型如 Qwen
    • 兼容 OpenAI 的 API 接口
    • 多层 LLM 系统适用于不同复杂度的任务

工具和 MCP 集成

  • 🔍 搜索和检索

    • 通过 Tavily、Brave Search 等进行网络搜索
    • 使用 Jina 进行爬取
    • 高级内容提取
  • 🔗 MCP 无缝集成

    • 扩展私有域访问、知识图谱、网页浏览等能力
    • 促进多样化研究工具和方法的集成

人机协作

  • 🧠 人在环中

    • 支持使用自然语言交互式修改研究计划
    • 支持自动接受研究计划
  • 📝 报告后期编辑

    • 支持类 Notion 的块编辑
    • 允许 AI 优化,包括 AI 辅助润色、句子缩短和扩展
    • 由tiptap提供支持

内容创作

  • 🎙️ 播客和演示文稿生成
    • AI 驱动的播客脚本生成和音频合成
    • 自动创建简单的 PowerPoint 演示文稿
    • 可定制模板以满足个性化内容需求

架构

DeerFlow 实现了一个模块化的多智能体系统架构,专为自动化研究和代码分析而设计。该系统基于 LangGraph 构建,实现了灵活的基于状态的工作流,其中组件通过定义良好的消息传递系统进行通信。
在这里插入图片描述

系统采用了精简的工作流程,包含以下组件:

  1. 协调器:管理工作流生命周期的入口点

    • 根据用户输入启动研究过程
    • 在适当时候将任务委派给规划器
    • 作为用户和系统之间的主要接口
  2. 规划器:负责任务分解和规划的战略组件

    • 分析研究目标并创建结构化执行计划
    • 确定是否有足够的上下文或是否需要更多研究
    • 管理研究流程并决定何时生成最终报告
  3. 研究团队:执行计划的专业智能体集合:

    • 研究员:使用网络搜索引擎、爬虫甚至 MCP 服务等工具进行网络搜索和信息收集。
    • 编码员:使用 Python REPL 工具处理代码分析、执行和技术任务。
      每个智能体都可以访问针对其角色优化的特定工具,并在 LangGraph 框架内运行
  4. 报告员:研究输出的最终阶段处理器

    • 汇总研究团队的发现
    • 处理和组织收集的信息
    • 生成全面的研究报告

开发

测试

运行测试套件:

# 运行所有测试
make test# 运行特定测试文件
pytest tests/integration/test_workflow.py# 运行覆盖率测试
make coverage

代码质量

# 运行代码检查
make lint# 格式化代码
make format

使用 LangGraph Studio 进行调试

DeerFlow 使用 LangGraph 作为其工作流架构。您可以使用 LangGraph Studio 实时调试和可视化工作流。

本地运行 LangGraph Studio

DeerFlow 包含一个langgraph.json配置文件,该文件定义了 LangGraph Studio 的图结构和依赖关系。该文件指向项目中定义的工作流图,并自动从.env文件加载环境变量。

Mac
# 如果您没有uv包管理器,请安装它
curl -LsSf https://astral.sh/uv/install.sh | sh# 安装依赖并启动LangGraph服务器
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
Windows / Linux
# 安装依赖
pip install -e .
pip install -U "langgraph-cli[inmem]"# 启动LangGraph服务器
langgraph dev

启动 LangGraph 服务器后,您将在终端中看到几个 URL:

  • API: http://127.0.0.1:2024
  • Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
  • API 文档: http://127.0.0.1:2024/docs

在浏览器中打开 Studio UI 链接以访问调试界面。

使用 LangGraph Studio

在 Studio UI 中,您可以:

  1. 可视化工作流图并查看组件如何连接
  2. 实时跟踪执行情况,了解数据如何在系统中流动
  3. 检查工作流每个步骤的状态
  4. 通过检查每个组件的输入和输出来调试问题
  5. 在规划阶段提供反馈以完善研究计划

当您在 Studio UI 中提交研究主题时,您将能够看到整个工作流执行过程,包括:

  • 创建研究计划的规划阶段
  • 可以修改计划的反馈循环
  • 每个部分的研究和写作阶段
  • 最终报告生成

启用 LangSmith 追踪

DeerFlow 支持 LangSmith 追踪功能,帮助您调试和监控工作流。要启用 LangSmith 追踪:

  1. 确保您的 .env 文件中有以下配置(参见 .env.example):

    LANGSMITH_TRACING=true
    LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
    LANGSMITH_API_KEY="xxx"
    LANGSMITH_PROJECT="xxx"
    
  2. 通过运行以下命令本地启动 LangSmith 追踪:

    langgraph dev
    

这将在 LangGraph Studio 中启用追踪可视化,并将您的追踪发送到 LangSmith 进行监控和分析。

Docker

您也可以使用 Docker 运行此项目。

首先,您需要阅读下面的配置部分。确保.env.conf.yaml文件已准备就绪。

其次,构建您自己的 Web 服务器 Docker 镜像:

docker build -t deer-flow-api .

最后,启动运行 Web 服务器的 Docker 容器:

# 将deer-flow-api-app替换为您首选的容器名称
docker run -d -t -p 8000:8000 --env-file .env --name deer-flow-api-app deer-flow-api# 停止服务器
docker stop deer-flow-api-app

Docker Compose

您也可以使用 docker compose 设置此项目:

# 构建docker镜像
docker compose build# 启动服务器
docker compose up

文本转语音集成

DeerFlow 现在包含一个文本转语音(TTS)功能,允许您将研究报告转换为语音。此功能使用火山引擎 TTS API 生成高质量的文本音频。速度、音量和音调等特性也可以自定义。

使用 TTS API

您可以通过/api/tts端点访问 TTS 功能:

# 使用curl的API调用示例
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{"text": "这是文本转语音功能的测试。","speed_ratio": 1.0,"volume_ratio": 1.0,"pitch_ratio": 1.0
}' \
--output speech.mp3

示例

以下示例展示了 DeerFlow 的功能:

研究报告

  1. OpenAI Sora 报告 - OpenAI 的 Sora AI 工具分析

    • 讨论功能、访问方式、提示工程、限制和伦理考虑
    • 查看完整报告
  2. Google 的 Agent to Agent 协议报告 - Google 的 Agent to Agent (A2A)协议概述

    • 讨论其在 AI 智能体通信中的作用及其与 Anthropic 的 Model Context Protocol (MCP)的关系
    • 查看完整报告
  3. 什么是 MCP? - 对"MCP"一词在多个上下文中的全面分析

    • 探讨 AI 中的 Model Context Protocol、化学中的 Monocalcium Phosphate 和电子学中的 Micro-channel Plate
    • 查看完整报告
  4. 比特币价格波动 - 最近比特币价格走势分析

    • 研究市场趋势、监管影响和技术指标
    • 基于历史数据提供建议
    • 查看完整报告
  5. 什么是 LLM? - 对大型语言模型的深入探索

    • 讨论架构、训练、应用和伦理考虑
    • 查看完整报告
  6. 医疗保健中的 AI 采用:影响因素 - 影响医疗保健中 AI 采用的因素分析

    • 讨论 AI 技术、数据质量、伦理考虑、经济评估、组织准备度和数字基础设施
    • 查看完整报告
  7. 量子计算对密码学的影响 - 量子计算对密码学影响的分析

    • 讨论经典密码学的漏洞、后量子密码学和抗量子密码解决方案
    • 查看完整报告

要运行这些示例或创建您自己的研究报告,您可以使用以下命令:

# 使用特定查询运行
uv run main.py "哪些因素正在影响医疗保健中的AI采用?"# 使用自定义规划参数运行
uv run main.py --max_plan_iterations 3 "量子计算如何影响密码学?"# 在交互模式下运行,带有内置问题
uv run main.py --interactive# 或者使用基本交互提示运行
uv run main.py# 查看所有可用选项
uv run main.py --help

交互模式

应用程序现在支持带有英文和中文内置问题的交互模式:

  1. 启动交互模式:

    uv run main.py --interactive
    
  2. 选择您偏好的语言(English 或中文)

  3. 从内置问题列表中选择或选择提出您自己问题的选项

  4. 系统将处理您的问题并生成全面的研究报告

人在环中

DeerFlow 包含一个人在环中机制,允许您在执行研究计划前审查、编辑和批准:

  1. 计划审查:启用人在环中时,系统将在执行前向您展示生成的研究计划

  2. 提供反馈:您可以:

    • 通过回复[ACCEPTED]接受计划
    • 通过提供反馈编辑计划(例如,[EDIT PLAN] 添加更多关于技术实现的步骤
    • 系统将整合您的反馈并生成修订后的计划
  3. 自动接受:您可以启用自动接受以跳过审查过程:

    • 通过 API:在请求中设置auto_accepted_plan: true
  4. API 集成:使用 API 时,您可以通过feedback参数提供反馈:

    {"messages": [{ "role": "user", "content": "什么是量子计算?" }],"thread_id": "my_thread_id","auto_accepted_plan": false,"feedback": "[EDIT PLAN] 包含更多关于量子算法的内容"
    }
    

命令行参数

应用程序支持多个命令行参数来自定义其行为:

  • query:要处理的研究查询(可以是多个词)
  • –interactive:以交互模式运行,带有内置问题
  • –max_plan_iterations:最大规划周期数(默认:1)
  • –max_step_num:研究计划中的最大步骤数(默认:3)
  • –debug:启用详细调试日志

感谢您的阅读,以上就是本期的全部内容啦,感兴趣的小伙伴可以自行前往DeerFlow 的官方网站了解更多详情。

相关文章:

【拥抱AI】Deer-Flow字节跳动开源的多智能体深度研究框架

最近发现一款可以对标甚至可能超越GPT-Researcher的AI深度研究应用,Deer-Flow(Deep Exploration and Efficient Research Flow)作为字节跳动近期开源的重量级项目,正以其模块化、灵活性和人机协同能力引发广泛关注。该项目基于 La…...

基于开源AI大模型与S2B2C生态的个人品牌优势挖掘与标签重构研究

摘要:在数字文明时代,个人品牌塑造已从传统经验驱动转向数据智能驱动。本文以开源AI大模型、AI智能名片与S2B2C商城小程序源码为技术载体,提出"社会评价-数据验证-标签重构"的三维分析框架。通过实证研究发现,结合第三方…...

2025年PMP 学习十二 第9章 项目资源管理

2025年PMP 学习十二 第9章 项目资源管理 序号过程过程组1规划资源管理规划2估算活动资源规划3获取资源执行4建设团队执行5管理团队执行6控制资源监控 项目资源管理,包括实物资源和团队资源。 文章目录 2025年PMP 学习十二 第9章 项目资源管理项目团队和 项目管理团…...

AI生成功能测试文档|测试文档

AI生成功能测试文档:链接直达 计算机功能测试文档撰写教程 链接直达:生成功能测试文档工具 一、文档概述 (一)文档目的 明确计算机功能测试的流程、方法和标准,确保测试的有效性和可靠性,为软件的质量评…...

Python 常用模块(八):logging模块

目录 一、引言:日志模块在项目开发中的重要性二、从 Django 日志配置看 Logging 模块的核心组成三、logging模块核心组件详解3.1 记录器Logger3.2 级别Level3.3 根记录器使用3.4 处理器Handler3.5 格式化器Formatter3.6 日志流3.7 日志示例 四、日志模块总结 一、引…...

入门OpenTelemetry——可观测性与链路追踪介绍

可观测性 什么是可观测性 可观察性(Observability)是从外部输出知识中推断所获得,可理解为衡量一个系统内部状态的方法。可观测性是一种能力,它能帮助你回答系统内部发生了什么——无需事先定义每种可能的故障或状态。系统的可观…...

c#队列及其操作

可以用数组、链表实现队列&#xff0c;大致与栈相似&#xff0c;简要介绍下队列实现吧。值得注意的是循环队列判空判满操作&#xff0c;在用链表实现时需要额外思考下出入队列条件。 设计头文件 #ifndef ARRAY_QUEUE_H #define ARRAY_QUEUE_H#include <stdbool.h> #incl…...

【Linux C/C++开发】轻量级关系型数据库SQLite开发(包含性能测试代码)

前言 之前的文件分享过基于内存的STL缓存、环形缓冲区&#xff0c;以及基于文件的队列缓存mqueue、hash存储、向量库annoy存储&#xff0c;这两种属于比较原始且高效的方式。 那么&#xff0c;有没有高级且高效的方式呢。有的&#xff0c;从数据角度上看&#xff0c;&#xff0…...

77. 组合【 力扣(LeetCode) 】

文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 77. 组合 一、题目描述 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 二、测试用例 示例 1&#xff1a; 输入&…...

GpuGeek全栈AI开发实战:从零构建企业级大模型生产管线(附完整案例)

目录 背景一、算力困境&#xff1a;AI开发者的「三重诅咒」1.1 硬件成本黑洞‌1.2 资源调度失衡‌1.3 环境部署陷阱‌ 二、三大核心技术突破GpuGeek的破局方案2.1 ‌分时切片调度引擎&#xff08;Time-Slicing Scheduler&#xff09;‌2.2 ‌异构计算融合架构2.3 ‌AI资产自动化…...

LeetCode 热题 100_颜色分类(98_75_中等_C++)(技巧)(计数;双指针)

LeetCode 热题 100_颜色分类&#xff08;98_75_中等_C&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;计数&#xff09;&#xff1a;思路二&#xff08;双指针&#xff09;&#xff1a; 代码实现代码实现&a…...

【前端】:单 HTML 去除 Word 批注

在现代办公中&#xff0c;.docx 文件常用于文档编辑&#xff0c;但其中的批注&#xff08;注释&#xff09;有时需要在分享或归档前被去除。本文将从原理出发&#xff0c;深入剖析如何在纯前端环境下实现对 .docx 文件注释的移除&#xff0c;并提供完整的实现源码。最后&#x…...

TTS-Web-Vue系列:Vue3实现内嵌iframe文档显示功能

&#x1f5bc;️ 本文是TTS-Web-Vue系列的新篇章&#xff0c;重点介绍如何在Vue3项目中优雅地实现内嵌iframe功能&#xff0c;用于加载外部文档内容。通过Vue3的响应式系统和组件化设计&#xff0c;我们实现了一个功能完善、用户体验友好的文档嵌入方案&#xff0c;包括加载状态…...

AWS CloudTrail日志跟踪启用

问题 启用日志管理。 步骤 审计界面&#xff0c;如下图&#xff1a; 点击创建跟踪&#xff0c;AWS云就会记录AWS账号在云中的操作。...

PHP 编程:现代 Web 开发的基石与演进

引言 PHP&#xff08;Hypertext Preprocessor&#xff09;自1995年诞生以来&#xff0c;已成为全球最流行的服务器端脚本语言之一。尽管近年来Node.js、Python等语言在特定领域崭露头角&#xff0c;但PHP仍占据着超过78%的网站市场份额&#xff08;W3Techs数据&#xff09;。本…...

NAT/代理服务器/内网穿透

目录 一 NAT技术 二 内网穿透/内网打洞 三 代理服务器 一 NAT技术 跨网络传输的时候&#xff0c;私网不能直接访问公网&#xff0c;就引入了NAT能讲私网转换为公网进行访问&#xff0c;主要解决IPv4(2^32)地址不足的问题。 1. NAT原理 当某个内网想访问公网&#xff0c;就必…...

[已解决] VS Code / Cursor / Trae 的 PowerShell 终端 conda activate 进不去环境的常见问题

背景 PS C:\Users\Lenovo\WPSDrive\669715199_3\WPS云盘\课程\研一\ROAS5700 Robot Motion Planning and Control\Final\LaTex报告\final-v1> conda activate mpPS C:\Users\Lenovo\WPSDrive\669715199_3\WPS云盘\课程\研一\ROAS5700 Robot Motion Planning and Control\Fin…...

Kuka AI音乐AI音乐开发「人声伴奏分离」 —— 「Kuka Api系列|中文咬字清晰|AI音乐API」第6篇

导读 今天我们来了解一下 Kuka API 的人声与伴奏分离功能。 所谓“人声伴奏分离”&#xff0c;顾名思义&#xff0c;就是将一段完整的音频拆分为两个独立的轨道&#xff1a;一个是人声部分&#xff0c;另一个是伴奏&#xff08;乐器&#xff09;部分。 这个功能在音乐创作和…...

深度伪造对知识产权保护的新挑战与应对之策

首席数据官高鹏律师团队 在科技的飞速发展带来了诸多便利的同时&#xff0c;也引发了一系列复杂的法律问题&#xff0c;其中深度伪造技术对知识产权保护的冲击尤为显著&#xff0c;亟待引起广泛关注与深入探讨。 深度伪造&#xff0c;简单来说&#xff0c;是借助先进的人工智…...

【嵌入式开发-软件定时器】

嵌入式开发-软件定时器 ■ 1.■ 2.■ 3.■ 4. ■ 1. ■ 2. ■ 3. ■ 4....

3天重庆和成都旅游规划

重庆和成都都是大城市&#xff0c;各自都有丰富的旅游资源。如果要在三天内两头都游览&#xff0c;可能需要合理安排时间&#xff0c;确保既能体验到重庆的特色&#xff0c;又能在成都游览主要景点。然而&#xff0c;考虑到交通时间&#xff0c;如果从重庆到成都需要一定的时间…...

JAVA中的文件操作

文章目录 一、文件认识&#xff08;一&#xff09;文件的分类&#xff08;二&#xff09;目录结构 二、文件操作&#xff08;一&#xff09;File类1.属性2.构造方法3.方法 &#xff08;二&#xff09;File类的具体使用1.文件路径的查看2.文件的基本操作&#xff08;1&#xff0…...

深度解析网闸策略:构建坚固的网络安全防线

深度解析网闸策略&#xff1a;构建坚固的网络安全防线 在数字化浪潮中&#xff0c;网络安全已成为企业、机构乃至国家稳定发展的关键要素。随着网络攻击手段日益复杂多样&#xff0c;传统的网络安全防护措施难以满足日益增长的安全需求。网闸作为一种先进的网络安全设备&#x…...

【Rust trait特质】如何在Rust中使用trait特质,全面解析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…...

滑动窗口算法笔记

力扣209 题目分析&#xff1a;想象一个窗口遍历着这个数组&#xff0c;不断扩大右边界&#xff0c;让r。往窗口中添加数字&#xff1a; 此时我们找到了这个窗口&#xff0c;它的和满足了大于等于target的条件&#xff0c;题目让我求最短的&#xff0c;那么我们就尝试来缩短它&…...

Problem A: 歌手打分

1.题目描述 在歌唱比赛中&#xff0c;共有10位评委进行打分&#xff0c;在计算歌手得分时&#xff0c;去掉一个最高分&#xff0c;去掉一个最低分&#xff0c;然后剩余的8位评委的分数进行平均&#xff0c;就是该选手的最终得分。输入每个评委的评分&#xff0c;求某选手的得分…...

容器安全-核心概述

文章摘要 本文探讨了容器安全的四个核心类别&#xff0c;包括环境基础设施安全、镜像安全、运行时安全和生态安全。尽管 EDR 能提供主机安全层面的部分防护&#xff0c;但无法覆盖容器的镜像安全和生态安全。容器的镜像安全和生态安全问题&#xff0c;如镜像漏洞、恶意镜像、容…...

Golang实践录:在go中使用curl实现https请求

之前曾经在一个 golang 工程调用 libcur 实现 https的请求&#xff0c;当前自测是通过的。后来迁移到另一个小系统出现段错误&#xff0c;于是对该模块代码改造&#xff0c;并再次自测。 问题提出 大约2年前&#xff0c;在某golang项目使用libcurl进行https请求&#xff08;参…...

nvrtc环境依赖

一 下载 1.1 添加nvidia的源&#xff08;不同于pypi&#xff09; pip install nvidia-pyindex 1.2 pip dowload 执行 pip download nvidia-cuda-runtime nvidia-cuda-python 会发现文件夹多了以下几个文件 而需要安装的则只有红框的三个文件&#xff0c; 二 安装 对红框的…...

【计算机视觉】OpenCV实战项目:GraspPicture 项目深度解析:基于图像分割的抓取点检测系统

GraspPicture 项目深度解析&#xff1a;基于图像分割的抓取点检测系统 一、项目概述项目特点 二、项目运行方式与执行步骤&#xff08;一&#xff09;环境准备&#xff08;二&#xff09;项目结构&#xff08;三&#xff09;执行步骤 三、重要逻辑代码解析&#xff08;一&#…...

Redis持久化存储

我们知道Redis是将数据放在内存中的,那怎么做到持久化存储呢?很简单,就是内存存一份,硬盘也存一份.那么两个地方都存会不会影响效率?答案是影响是不大的,要看具体的策略.同时也要注意内存的数据和硬盘中的数据可能会有一点不同.这也是取决于策略的不同. Redis持久化存储的两个…...

网络检测工具InternetTest v8.9.1.2504 单文件版,支持一键查询IP/DNS、WIFI密码信息

—————【下 载 地 址】——————— 【​本章下载一】&#xff1a;https://drive.uc.cn/s/295e068b79314 【​本章下载二】&#xff1a;https://pan.xunlei.com/s/VOQDXguH0DYPxrql5y2zlkhTA1?pwdg2nx# 【百款黑科技】&#xff1a;https://ucnygalh6wle.feishu.cn/wiki/…...

elpis-core: 基于 Koa 实现 web 服务引擎架构设计解析

前言 内容来源于抖音【哲玄前端】大佬的《大前端全栈实践》课程&#xff0c;此课程是从零开始做一个企业级的全栈应用框架。此框架是基于koa.js构建的服务引擎&#xff0c;对BFF层的框架封装&#xff0c;让我感受颇深。 整体elpis项目架构设计 elpis-core设计思路 可以看到elpi…...

计算机网络-MPLS LDP基础实验配置

前面我们学习了LDP的会话建立、标签发布与交换、LDP的工作原理&#xff0c;今天通过一个基础实验来加深记忆。 一、LDP基础实验 实验拓扑&#xff1a; 1、IGP使用OSPF进行通告&#xff0c;使用Lookback接口作为LSR ID&#xff0c;LDP ID自动生成。 2、实验目的&#xff1a;使…...

搜索二维矩阵 II

存储m和n&#xff0c;用i表示行&#xff0c;j表示列&#xff0c;i从最后一行开始遍历&#xff0c;j从0开始遍历&#xff0c;当前值比目标值小j&#xff0c;反之i-- class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int…...

C++中如何实现一个单例模式?

单利模式是指对象在整个程序中只有一个实例&#xff0c;提供一个访问方法供全局访问。实现单例模式有如下要求&#xff1a; 1.私有化构造函数&#xff1a;将构造函数定义为私有&#xff0c;以防外部通过构造函数创建其它实例。 2.静态实例&#xff1a;在内部提供一个静态实例…...

进程与线程

进程与线程:计算机世界的"公司与员工" 进程与线程的本质区别 进程(Process)是计算机中独立运行的程序实例,拥有自己的内存空间和系统资源;而线程(Thread)是进程内的执行单元,共享所属进程的资源,但拥有独立的执行路径。 🏢 生活类比:想象一个大型企业的运…...

JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践

JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践 Java开发与运维过程中&#xff0c;JDK自带的命令行工具是定位问题、性能调优、编译调试的基石。本文全面梳理JDK常用命令工具、帮助文档的获取方式&#xff0c;并总结类似Linux命令行的学习方法&#xff0c;助你系…...

行业趋势与技术创新:驾驭工业元宇宙与绿色智能制造

引言 制造业发展的新格局&#xff1a;创新势在必行 当今制造业正经历深刻变革&#xff0c;面临着供应链波动、个性化需求增长、可持续发展压力以及技能人才短缺等多重挑战。在这样的背景下&#xff0c;技术创新不再是可有可无的选项&#xff0c;而是企业保持竞争力、实现可持…...

代码随想录算法训练营第三十九天(打家劫舍专题) | 198.打家劫舍、213.打家劫舍II、337.打家劫舍III

一、198.打家劫舍 题目链接&#xff1a;198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09; 文章讲解&#xff1a;代码随想录 视频讲解&#xff1a;动态规划&#xff0c;偷不偷这个房间呢&#xff1f;| LeetCode&#xff1a;198.打家劫舍_哔哩哔哩_bilibili 1. 思路 大家如…...

Linux514 rsync 解决方案环境配置

节点ab都改为NAT模式 网关和VMnet8网卡不一致 ping 不通外网 ping不通外网 是这里的问题吗 怎么突然就ping通了 没改啥啊 上面改了dhcp范围后 ping还是ping不通 为啥现在又ping通了 设置节点b 推测应该是dhcp范围问题 今日源码 节点b MX...

STM32F103_LL库+寄存器学习笔记23 - PWM波形输出及软件方式调整周期与占空比

导言 脉宽调制&#xff08;PWM&#xff09;是 STM32 定时器最常用的输出模式之一&#xff0c;广泛应用于电机驱动、LED 调光、伺服控制和功率管理等场景。本篇文章将以 TIM5 为例&#xff0c;从寄存器层面深入剖析 PWM 输出的原理与实现步骤。通过本篇博客&#xff0c;你不仅能…...

Canvas知识框架

一、Canvas基础 核心概念 Canvas是位图绘图区域&#xff0c;通过JavaScript&#xff08;或Python等&#xff09;动态绘制图形。 坐标系&#xff1a;左上角为原点 (0, 0)&#xff0c;x向右递增&#xff0c;y向下递增。 绘图流程&#xff1a; const canvas document.getElemen…...

【SSL证书系列】客户端如何验证https网站服务器发的证书是否由受信任的根证书签发机构签发

客户端验证HTTPS网站证书是否由受信任的根证书颁发机构&#xff08;CA&#xff09;签发&#xff0c;是一个多步骤的过程&#xff0c;涉及证书链验证、信任锚&#xff08;Trust Anchor&#xff09;检查、域名匹配和吊销状态验证等。以下是详细的验证流程&#xff1a; 1. 证书链的…...

spark小任务

import org.apache.spark.{Partitioner, SparkConf, SparkContext}object PartitionCustom {// 分区器决定哪一个元素进入某一个分区// 目标: 把10个分区器&#xff0c;偶数分在第一个分区&#xff0c;奇数分在第二个分区// 自定义分区器// 1. 创建一个类继承Partitioner// 2. …...

git push 报错:send-pack: unexpected disconnect while reading sideband packet

背景 新建了一个仓库&#xff0c;第一次push 代码文件&#xff0c;文件中有一个依赖的jar&#xff0c;有80MB&#xff0c;结果push的时候报错。 错误信息 error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500 send-pack: unexpected disconnect whi…...

读入csv文件写入MySQL

### 使用 Spark RDD 读取 CSV 文件并写入 MySQL 的实现方法 #### 1. 环境准备 在使用 Spark 读取 CSV 文件并写入 MySQL 数据库之前&#xff0c;需要确保以下环境已配置完成&#xff1a; - 添加 Maven 依赖项以支持 JDBC 连接。 - 配置 MySQL 数据库连接参数&#xff0c;包括 …...

5.18-AI分析师

强化练习1 神经网络训练案例&#xff08;SG&#xff09; #划分数据集 #以下5行需要背 folder datasets.ImageFolder(rootC:/水果种类智能训练/水果图片, transformtrans_compose) n len(folder) n1 int(n*0.8) n2 n-n1 train, test random_split(folder, [n1, n2]) #训…...

腾讯云运营开发 golang一面

redis为什么单线程会快 每秒10w吞吐量 io多路复用 一个文件描述符整体拷贝&#xff1b;调用epoll_ctl 单个传递 内核遍历文件描述符判断是否有事件发送&#xff1b;回调函数列表维护 修改有事件发送的socket为可读或可写&#xff0c;返回整个文件描述符&#xff1b;返回链…...

spark数据压缩

### Spark 数据压缩方法及其实现 在大数据处理框架中&#xff0c;数据压缩是一个重要的环节&#xff0c;它不仅能够减少磁盘占用空间&#xff0c;还能降低网络传输成本。然而&#xff0c;在分布式计算环境中&#xff08;如 Spark&#xff09;&#xff0c;选择合适的压缩编解码…...