使用说明
项目简介
AWorld (Agent World) 是一个旨在弥合理论上的多智能体系统 (MAS) 能力与实际应用之间差距的框架。它通过集成模型上下文协议 (MCP) 服务器作为智能体工具,简化了通用多智能体系统的构建、评估和运行,帮助开发者轻松迈向通用人工智能 (AGI) 世界。
主要功能点
- MCP服务器即工具:无缝集成各种MCP服务器,为智能体提供丰富的工具能力,例如数据访问、外部功能调用和Prompt模板渲染。
- 多智能体系统支持:支持构建单智能体和多智能体系统,包括协作和竞争模式,以及混合智能体团队。
- 环境多工具支持:
- 默认提供计算机使用工具,如浏览器、Shell终端、代码执行、文件系统等。
- 支持Android设备模拟,用于移动应用自动化和测试。
- 灵活的智能体架构:
- 支持智能体初始化、智能体间委托和异步委托。
- 允许将智能体作为工具进行委托,实现更复杂的协作模式。
- 双重用途框架:
- 智能体评估:提供统一的任务定义,支持自定义和公共基准测试,并生成详细的测试报告。
- 智能体训练:支持智能体模型在环境中学习和进化,克服挑战,同时环境模型也演进以呈现更复杂的场景。
安装步骤
- 确保你的Python版本为3.11或更高。
- 使用pip安装AWorld:
python setup.py install
服务器配置
MCP服务器的配置信息位于 'aworld/config/mcp.json' 文件中。你需要根据你的MCP服务器实例修改此文件。配置信息为JSON格式,示例如下:
{ "mcpServers": { "amap-amap-sse": { "url": "http://localhost:5080" // 你的MCP服务器SSE接口URL,例如:http://your-mcp-server:port }, "另一个-mcp-服务器": { "url": "http://another-mcp-server:8081" // 另一个MCP服务器的URL } // ... 可以配置多个MCP服务器 } }
- 'mcpServers': 包含所有MCP服务器配置的JSON对象。
- 'server_name': 你为MCP服务器配置的名称,例如 'amap-amap-sse' 或 '另一个-mcp-服务器'。这个名称将在智能体配置中被引用。
- 'url': 你的MCP服务器的URL地址,MCP客户端将通过此URL与服务器建立连接。你需要替换示例URL为你实际的MCP服务器地址。
注意:MCP客户端不需要配置MCP服务器的启动命令 (command) 及其参数 (args)。'aworld/config/mcp.json' 文件中仅需配置MCP服务器的访问URL ('url')。MCP客户端通过此URL以标准化的MCP协议与服务器通信,无需关心服务器的启动细节。
基本使用方法
- 配置MCP服务器:编辑 'aworld/config/mcp.json' 文件,添加你的MCP服务器配置信息,包括服务器名称和URL。
- 创建智能体:在Python代码中,创建 'Agent' 实例,并在 'mcp_servers' 参数中指定要使用的MCP服务器名称(与 'mcp.json' 中配置的名称一致)。
- 定义任务:创建 'Task' 实例,将输入 (input) 和智能体 (agent) 传递给任务。
- 运行任务:调用 'task.run()' 方法执行任务。
示例代码:
from aworld.config.conf import AgentConfig, TaskConfig from aworld.core.agent.base import Agent from aworld.core.task import Task if __name__ == '__main__': agent_config = AgentConfig( llm_provider="openai", llm_model_name="gpt-4o", llm_api_key="YOUR_API_KEY", # 设置你的LLM API Key llm_base_url="http://localhost:5080" # 设置你的LLM服务地址 ) search_sys_prompt = "You are a helpful agent." search = Agent( conf=agent_config, name="search_agent", system_prompt=search_sys_prompt, mcp_servers=["amap-amap-sse"] # 指定使用的MCP服务器名称,与mcp.json中的配置一致 ) # 定义任务 task = Task(input="附近的酒店", agent=search, conf=TaskConfig()) task.run()
请参考仓库中的 'examples/mcp/run.py' 和 'examples/browsers/run.py' 等示例代码,了解更详细的使用方法。
信息
分类
开发者工具