Magentic-One:微软推出多智能体系统,用于解决跨领域的复杂网络和文件任务
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- Magentic-One 是微软推出的多智能体系统,用于解决跨领域的复杂网络和文件任务。
- 系统基于多智能体架构,由 Orchestrator 智能体领导,协调 WebSurfer、FileSurfer、Coder 和 ComputerTerminal 四个专业智能体执行任务。
- 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
安装和配置
- 克隆代码并安装包:
git clone https://github.com/microsoft/autogen.git
cd autogen/python/packages/autogen-magentic-one
pip install -e .
-
配置环境变量以使用聊天完成客户端。详见下文 环境配置。
-
安装 Docker:
# 安装 Docker
sudo apt-get update
sudo apt-get install docker.io
- 安装 Playwright 依赖:
playwright install --with-deps chromium
- 运行示例代码:
# 指定日志目录
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
资源
- 项目官网:https://www.microsoft.com/en-us/research/articles/magentic-one-a-generalist-multi-agent-system-for-solving-complex-tasks/
- GitHub 仓库:https://github.com/microsoft/autogen/tree/main/python/packages/autogen-magentic-one
- 技术论文:https://www.microsoft.com/en-us/research/publication/magentic-one-a-generalist-multi-agent-system-for-solving-complex-tasks/
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦