使用说明

项目简介

MUXI框架是一个用于构建AI代理的强大平台,它通过统一的架构集成了多种接口,包括MCP服务器集成、记忆系统、多代理支持等功能。虽然项目尚在开发中,但已初步展现出MCP服务器实现的雏形,尤其在MCP服务器集成方面,提供了HTTP+SSE和命令行两种传输方式的支持。

主要功能点

  • MCP服务器集成: 框架明确支持Model Context Protocol (MCP) 服务器的集成,允许AI代理连接并利用外部服务提供的资源和工具。支持HTTP+SSE和命令行两种传输协议,具备重连机制和错误处理能力。
  • 多代理支持: 可以创建和管理多个具有不同能力的AI代理,实现更复杂的AI应用场景。
  • 记忆系统: 内置短期和长期记忆系统,使AI代理能够进行上下文相关的交互。
  • 多种接口: 提供REST API、WebSocket、CLI和Web UI等多种接口,方便用户与框架进行交互。
  • 智能消息路由: 能够根据消息内容自动路由到最合适的代理进行处理。

安装步骤

  1. 环境准备: 确保已安装 Python 3.8 或更高版本。建议使用虚拟环境。
  2. 安装MUXI: 使用 pip 命令安装 MUXI 框架:
    pip install muxi
    或者,如果需要进行开发,可以克隆仓库后以开发模式安装:
    git 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": [] // 计算器服务器不需要凭据
    }
  ]
}

基本使用方法

  1. 初始化 MUXI 应用: 在 Python 代码中初始化 MUXI 应用。

    from muxi import muxi
    app = muxi()
  2. 添加代理: 从配置文件或以编程方式添加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"}
      )
  3. 与代理对话: 使用 'app.chat()' 方法与代理进行对话,框架会自动处理消息路由和 MCP 服务器的调用。

    response = await app.chat("What's the weather in New York? Also, what's 123 * 456?")
    print(response)
  4. 运行服务器: 启动 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' 等扩展模块以使用完整功能。由于项目仍在开发阶段,部分功能可能不稳定或未完全实现。

信息

分类

开发者工具