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

Magentic-One:微软推出多智能体系统,用于解决跨领域的复杂网络和文件任务

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. Magentic-One 是微软推出的多智能体系统,用于解决跨领域的复杂网络和文件任务。
  2. 系统基于多智能体架构,由 Orchestrator 智能体领导,协调 WebSurfer、FileSurfer、Coder 和 ComputerTerminal 四个专业智能体执行任务。
  3. Magentic-One 支持模块化和灵活性,易于扩展和适应新任务。

正文(附运行示例)

Magentic-One 是什么

在这里插入图片描述

Magentic-One 是微软推出的一个通用多智能体系统,旨在解决跨领域的复杂网络和文件任务。系统基于多智能体架构,由 Orchestrator 智能体领导,协调 WebSurfer、FileSurfer、Coder 和 ComputerTerminal 四个专业智能体执行任务。Magentic-One 基于微软 AutoGen 框架实现,支持模块化和灵活性,易于扩展和适应新任务。

Magentic-One 的主要功能

  • 任务协调与执行:基于名为 Orchestrator 的主导智能体协调和指导其他智能体完成任务。
  • 网络信息处理:WebSurfer 智能体在网络进行搜索、点击链接、与在线元素互动,跨网站收集信息,提供所需的摘要。
  • 文件管理:FileSurfer 智能体探索本地目录、分析文件内容,支持文档管理和数据检索。
  • 代码编写与执行
    • Coder 智能体:编写和评估代码,撰写新脚本、调试现有代码,与其他智能体协作。
    • ComputerTerminal 智能体:执行 Coder 智能体生成的代码,适用于需要即时测试或部署的项目。
  • 自适应项目管理:监控项目的每个阶段,及时调整计划以应对各种障碍,确保任务的顺利完成。
  • 复杂任务处理:处理跨领域的复杂、多步骤任务,具有类似人类的适应能力。

Magentic-One 的技术原理

  • Orchestrator 智能体:作为系统的核心,负责高级规划、任务分解、指导其他智能体执行子任务、跟踪整体进度,在需要时采取纠正措施。
  • 任务账本(Task Ledger):Orchestrator 构建任务账本启动操作,其中包含事实、猜测和计划。
  • 进度账本(Progress Ledger):Orchestrator 在项目进展中维护进度账本,确保每个阶段的任务都能按时完成,自我反思任务进度。
  • 多智能体协同:Magentic-One 包含多个专业智能体,每个智能体承担不同的角色,共同实现任务的无缝执行。
  • 模块化和灵活性:Magentic-One 基于微软 AutoGen 框架实现,支持模块化和灵活性,易于扩展和适应新任务。
  • 自适应特性:系统能监控项目的每个阶段,及时调整计划以应对各种障碍,如果某个智能体在特定步骤上遇到困难,协调器会重新分配任务或更新策略。
  • 模型无关性:Magentic-One 是模型无关的,整合不同的大型语言模型(LLMs)和脚本语言模型(SLMs)支持不同的能力或满足不同的成本要求。

如何运行 Magentic-One

安装和配置

  1. 克隆代码并安装包:
git clone https://github.com/microsoft/autogen.git
cd autogen/python/packages/autogen-magentic-one
pip install -e .
  1. 配置环境变量以使用聊天完成客户端。详见下文 环境配置。

  2. 安装 Docker:

# 安装 Docker
sudo apt-get update
sudo apt-get install docker.io
  1. 安装 Playwright 依赖:
playwright install --with-deps chromium
  1. 运行示例代码:
# 指定日志目录
python examples/example.py --logs_dir ./my_logs

# 启用人机交互模式
python examples/example.py --logs_dir ./my_logs --hil_mode

# 保存浏览器截图
python examples/example.py --logs_dir ./my_logs --save_screenshots

参数说明:

  • logs_dir:(必需)日志、下载和浏览器截图的目录(默认:当前目录)
  • hil_mode:(可选)启用人机交互模式(默认:禁用)
  • save_screenshots:(可选)保存浏览器截图(默认:禁用)

环境配置

使用 Azure Active Directory

设置以下环境变量:

  • CHAT_COMPLETION_PROVIDER='azure'
  • CHAT_COMPLETION_KWARGS_JSON,JSON 结构如下:
{
  "api_version": "2024-02-15-preview",
  "azure_endpoint": "REPLACE_WITH_YOUR_ENDPOINT",
  "model_capabilities": {
    "function_calling": true,
    "json_output": true,
    "vision": true
  },
  "azure_ad_token_provider": "DEFAULT",
  "model": "gpt-4o-2024-05-13"
}
使用 OpenAI

设置以下环境变量:

  • CHAT_COMPLETION_PROVIDER='openai'
  • CHAT_COMPLETION_KWARGS_JSON,JSON 结构如下:
{
  "api_key": "REPLACE_WITH_YOUR_API",
  "model": "gpt-4o-2024-05-13"
}

其他密钥(可选)

某些功能(如使用网络搜索)需要 Bing API 密钥。设置方法如下:

export BING_API_KEY=xxxxxxx

资源

  1. 项目官网:https://www.microsoft.com/en-us/research/articles/magentic-one-a-generalist-multi-agent-system-for-solving-complex-tasks/
  2. GitHub 仓库:https://github.com/microsoft/autogen/tree/main/python/packages/autogen-magentic-one
  3. 技术论文:https://www.microsoft.com/en-us/research/publication/magentic-one-a-generalist-multi-agent-system-for-solving-complex-tasks/

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


http://www.kler.cn/a/383804.html

相关文章:

  • spdlog一个非常好用的C++日志库(九): 扩展自定义sink
  • 《Vue3 报错》Uncaught TypeError: s.finally is not a function
  • 基于 EventBridge + DashVector 打造 RAG 全链路动态语义检索能力
  • Docker + Jenkins + gitee 实现CICD环境搭建
  • 一种ESB的设计
  • CAD数据提取
  • yolov8-seg目标分割理论及代码运行实践
  • 【1个月速成Java】基于Android平台开发个人记账app学习日记——第7天,申请阿里云SMS短信服务SDK
  • 代码随想录之字符串刷题总结
  • redis与本地缓存
  • [MySQL]视图
  • 大数据中的Kafka, Zookeeper,Flume,Nginx, Sqoop与ETL
  • 一文读懂:AIOps 从自动化运维到智能化运维
  • C#如何快速获取P/Invoke方法签名
  • 【ChatGPT】让ChatGPT生成跨语言翻译的精确提示
  • iOS灵动岛动画小组件怎么播放动画
  • Python实例:爱心代码
  • PySpark本地开发环境搭建
  • 【Pytorch】基本语法
  • ssm052游戏攻略网站的设计与实现+vue(论文+源码)-kaic
  • Hyperledger Fabric 入门笔记(十六)Fabric V2.5 测试网络部署补充 - 手动从通道中移除组织
  • 使用C++和libcurl库实现HTTP请求(GET、POST、文件上传)
  • 微信小程序,点击bindtap事件后,没有跳转到详情页,有可能是app.json中没有正确配置页面路径
  • lua入门教程:数字
  • 后端:Spring、Spring Boot-配置、定义bean
  • 法语je vais bien