探索多智能体AI系统:Magnetic-One及其示例

2024年11月12日 由 alex 发表 620 0

“Magentic-One 是一款新型通用多智能体系统,用于解决各种领域的开放式网络和基于文件的任务。Magentic-One 代表着朝着开发能够完成人们在工作和个人生活中遇到的任务的智能体迈出了重要一步。”


这里我们建立 AutoGen 和 Magentic-One 环境并处理两个示例。


配置聊天完成客户端的环境变量。


# Download autogen repo
git clone https://github.com/microsoft/autogen.git
# Locate autogen directory
cd autogen/python
# Create venv
uv sync --all-extras
# .venv is created under 'autogen/python'
source .venv/bin/activate
# install magentic-one dependencies
cd packages/autogen-magentic-one


8


9


安装Docker引擎:Magnetic-One代码需要执行代码,因此必须安装Docker。


10


有时,在某些环境中可能会发生Docker异常,例如“docker.errors.DockerException: Error while fetching server API version”(在获取服务器API版本时出错)。


11


检查Python环境中的Docker连接性。运行以下Python脚本来验证Python环境是否能够连接到Docker。在/python/packages/autogen-magentic-one/目录下创建这个名为‘docker_verify.py’的文件。


import docker
client = docker.from_env()
try:
    print(client.version())
except Exception as e:
    print("Error connecting to Docker:", e)


如果没有错误,请继续执行与Playwright相关的步骤。如果出现错误或异常,请尝试以下步骤。


12


Magnetic-One 使用 Playwright 来与网页进行交互。


13


目前,Magnetic-One 仅支持 OpenAI 的 GPT-4 作为底层大型语言模型(LLM)。


export CHAT_COMPLETION_PROVIDER='openai'
export CHAT_COMPLETION_KWARGS_JSON='{"your_api_key_her": "XXXX", "model": "gpt-4o-2024-08-06"}'
export OPENAI_API_KEY="your_api_key_here"


运行示例代码,观察各个代理如何协同完成任务。


# Specify logs directory
python examples/example.py --logs_dir ./my_logs


一个Docker镜像用于代码执行。


14


据介绍,“Magnetic-One采用了一种多代理架构,其中一个主导代理(即Orchestrator)指导其他四个代理完成任务。Orchestrator负责规划、跟踪进度,并在出现错误时重新规划以恢复,同时指导专门代理执行诸如操作网页浏览器、导航本地文件或编写和执行Python代码等任务。


15


Magnetic-One中引入了五个代理:

  • Orchestrator(协调器):这是主导代理,负责任务分解和规划,指导其他代理执行子任务,跟踪整体进度,并根据需要采取纠正措施。
  • WebSurfer(网页冲浪者):这是一个基于大型语言模型(LLM)的代理,擅长指挥和管理基于Chromium的网页浏览器的状态。对于每个传入的请求,WebSurfer都会在浏览器上执行一个操作,然后报告网页的新状态。WebSurfer的操作空间包括导航(如访问URL、执行网页搜索)、网页操作(如点击和输入)以及阅读操作(如总结或回答问题)。WebSurfer依赖于浏览器的可访问性树和标记集提示来执行其操作。
  • FileSurfer(文件冲浪者):这是一个基于LLM的代理,它命令一个基于markdown的文件预览应用程序来读取大多数类型的本地文件。FileSurfer还可以执行常见的导航任务,如列出目录内容和导航文件夹结构。
  • Coder(编码者):这是一个通过其系统提示专门用于编写代码、分析从其他代理收集的信息或创建新工件的基于LLM的代理。
  • ComputerTerminal(计算机终端):最后,ComputerTerminal为团队提供了一个控制台shell,可以在其中执行Coder的程序,并安装新的编程库。


首先,我们尝试一个简单的问题:“什么是autogen?”


16


17


18


19


20


21


示例2:问题“有一个包含C++函数的网站,网址是https://www.w3schools.com/cpp/showcpp.asp?filename=demo_howto_add_two_numbers2,请检索这个函数,并提供一些简单的测试用例来测试代码功能的示例?”


22


23


24


25


26


27


28


29


30


两个简单示例运行得很好。据说,现代人工智能代理能够代表我们进行感知、推理和行动,在软件工程、数据分析、科学研究和网页导航等领域展现出了卓越的性能。未来,我们将基于这些观点探索更复杂的任务。

文章来源:https://medium.com/@shmilysyg/exploring-multi-agent-ai-systems-by-using-magentic-one-576c6f225849
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消