使用说明
项目简介
MUXI框架是一个用于构建AI代理的强大平台,它通过统一的架构集成了多种接口,包括MCP服务器集成、记忆系统、多代理支持等功能。虽然项目尚在开发中,但已初步展现出MCP服务器实现的雏形,尤其在MCP服务器集成方面,提供了HTTP+SSE和命令行两种传输方式的支持。
主要功能点
- MCP服务器集成: 框架明确支持Model Context Protocol (MCP) 服务器的集成,允许AI代理连接并利用外部服务提供的资源和工具。支持HTTP+SSE和命令行两种传输协议,具备重连机制和错误处理能力。
- 多代理支持: 可以创建和管理多个具有不同能力的AI代理,实现更复杂的AI应用场景。
- 记忆系统: 内置短期和长期记忆系统,使AI代理能够进行上下文相关的交互。
- 多种接口: 提供REST API、WebSocket、CLI和Web UI等多种接口,方便用户与框架进行交互。
- 智能消息路由: 能够根据消息内容自动路由到最合适的代理进行处理。
安装步骤
- 环境准备: 确保已安装 Python 3.8 或更高版本。建议使用虚拟环境。
- 安装MUXI: 使用 pip 命令安装 MUXI 框架:
或者,如果需要进行开发,可以克隆仓库后以开发模式安装:pip install muxigit clone https://github.com/ranaroussi/muxi cd muxi ./install_dev.sh
服务器配置
MUXI 框架本身定位为AI代理平台,而非纯粹的MCP服务器。它集成了MCP客户端功能,可以连接到外部MCP服务器以扩展代理的能力。要在 MUXI 中配置和使用 MCP 服务器,您需要在代理的配置文件(如 'configs/assistant.yaml')中指定 'mcp_servers' 部分。
以下是一个 MCP 服务器配置示例(JSON 格式):
{ "mcp_servers": [ { "name": "web_search", // MCP 服务器的名称,用户自定义 "transport_type": "http_sse", // 传输类型,支持 "http_sse" 或 "command_line" "url": "http://localhost:5001", // MCP 服务器的 URL 或启动命令 "credentials": [ // 凭据配置(可选) { "id": "search_api_key", // 凭据 ID,用户自定义 "param_name": "api_key", // 凭据在请求参数中的名称 "required": true, // 是否为必需凭据 "env_fallback": "SEARCH_API_KEY" // 环境变量回退,如果凭据未提供,则尝试从环境变量中获取 } ] }, { "name": "calculator", // 另一个 MCP 服务器配置示例 "transport_type": "command_line", "url": "npx -y @modelcontextprotocol/server-calculator", // 使用命令行启动本地计算器 MCP 服务器 "credentials": [] // 计算器服务器不需要凭据 } ] }
基本使用方法
-
初始化 MUXI 应用: 在 Python 代码中初始化 MUXI 应用。
from muxi import muxi app = muxi() -
添加代理: 从配置文件或以编程方式添加AI代理,并配置 'mcp_servers' 连接信息。
- 从配置文件添加代理:
app.add_agent("assistant", "configs/assistant.yaml") - 编程方式添加代理并连接MCP服务器:
from muxi.core.orchestrator import Orchestrator from muxi.models.providers.openai import OpenAIModel # ... 其他组件导入 orchestrator = Orchestrator() agent = orchestrator.create_agent( ... ) # 创建代理 await agent.connect_mcp_server( name="web_search", url="http://localhost:5001", credentials={"api_key": "your_search_api_key"} )
- 从配置文件添加代理:
-
与代理对话: 使用 'app.chat()' 方法与代理进行对话,框架会自动处理消息路由和 MCP 服务器的调用。
response = await app.chat("What's the weather in New York? Also, what's 123 * 456?") print(response) -
运行服务器: 启动 MUXI 服务器,可以通过 CLI、API 或 Web UI 等多种方式与代理进行交互。
- CLI: 'muxi chat' 或 'muxi run'
- API: 使用 'curl' 或其他 HTTP 客户端向服务器 API 发送请求 (参考 README 中的 API 使用示例)
- Web UI: 安装 'muxi-web' 模块后,使用 'muxi run' 启动带 Web UI 的服务器,然后在浏览器中访问 'http://localhost:5050'。
注意: 请确保已配置 OpenAI API Key 等必要的环境变量,并根据需要安装 'muxi-web' 等扩展模块以使用完整功能。由于项目仍在开发阶段,部分功能可能不稳定或未完全实现。
信息
分类
开发者工具