“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
安装Docker引擎:Magnetic-One代码需要执行代码,因此必须安装Docker。
有时,在某些环境中可能会发生Docker异常,例如“docker.errors.DockerException: Error while fetching server API version”(在获取服务器API版本时出错)。
检查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相关的步骤。如果出现错误或异常,请尝试以下步骤。
Magnetic-One 使用 Playwright 来与网页进行交互。
目前,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镜像用于代码执行。
据介绍,“Magnetic-One采用了一种多代理架构,其中一个主导代理(即Orchestrator)指导其他四个代理完成任务。Orchestrator负责规划、跟踪进度,并在出现错误时重新规划以恢复,同时指导专门代理执行诸如操作网页浏览器、导航本地文件或编写和执行Python代码等任务。
Magnetic-One中引入了五个代理:
首先,我们尝试一个简单的问题:“什么是autogen?”
示例2:问题“有一个包含C++函数的网站,网址是https://www.w3schools.com/cpp/showcpp.asp?filename=demo_howto_add_two_numbers2,请检索这个函数,并提供一些简单的测试用例来测试代码功能的示例?”
两个简单示例运行得很好。据说,现代人工智能代理能够代表我们进行感知、推理和行动,在软件工程、数据分析、科学研究和网页导航等领域展现出了卓越的性能。未来,我们将基于这些观点探索更复杂的任务。