项目简介

IPFS Accelerate Python 是一个全面的企业级Python框架,专注于硬件加速的机器学习推理和基于IPFS网络的模型分发。它通过实现 Model Context Protocol (MCP) 服务器,以标准化的方式向大型语言模型(LLM)客户端提供上下文信息和各种功能,包括模型管理、性能优化、队列监控和GitHub自动化工具。该平台旨在为生产环境提供稳定、高效和可扩展的AI推理服务。

主要功能点

  • 硬件加速ML推理: 支持8种主流硬件平台(CPU, CUDA, ROCm, MPS, OpenVINO, WebNN, WebGPU, Qualcomm),提供高达90/100的综合性能得分,实现高效的AI推理。
  • IPFS网络分发: 利用IPFS实现内容寻址的模型存储和分布式传输,支持P2P内容分发和高效缓存策略,减少带宽消耗。
  • MCP服务器能力: 作为一个完整的MCP服务器,它能够:
    • 托管和管理资源: 例如,通过MCP工具提供HuggingFace模型发现和管理功能,提供数据访问能力。
    • 注册和执行工具: 允许LLM调用外部功能,如文本生成、图像分类、音频转录、GitHub工作流管理和自托管运行器配置等。
    • 定义和渲染Prompt模板: 支持可定制的LLM交互模式,允许灵活地构建和响应LLM请求。
  • 高级性能优化: 包含强大的性能建模系统、全面的基准测试套件、精确的模型-硬件兼容性评估以及企业级生产验证基础设施。
  • GitHub CLI与Copilot集成: 提供GitHub工作流自动化、自托管运行器自动扩展、错误报告自动化和Copilot CLI工具集成,简化开发运维。
  • P2P缓存系统: 增强的P2P缓存机制,支持加密通信,优化GitHub API请求,提高响应速度和安全性。

安装步骤

  1. 克隆仓库: 首先,您需要将IPFS Accelerate Python仓库克隆到本地:

    git clone https://github.com/endomorphosis/ipfs_accelerate_py.git
    cd ipfs_accelerate_py
  2. 安装依赖: 建议安装完整依赖以获得所有功能。您可以使用以下命令在开发模式下安装:

    pip install -e ".[full]"

    如果您需要WebNN/WebGPU浏览器加速或最小化安装,可以根据需要选择其他安装选项,如 'pip install ipfs_accelerate_py[webnn]' 或 'pip install ipfs_accelerate_py[minimal]'。

  3. Docker部署(可选): 如果您更倾向于容器化部署,可以构建或拉取Docker镜像。以下是快速部署示例:

    # 快速企业级部署(默认监听8000端口)
    docker run -p 8000:8000 ipfs-accelerate:enterprise
    # 或者使用docker-compose进行生产部署
    docker-compose up -f deployments/production/docker-compose.yml

服务器配置

MCP客户端需要以下信息才能连接到IPFS Accelerate MCP服务器。请根据您启动服务器的方式提供以下JSON格式的配置参数:

{
  "server_name": "ipfs-accelerate-mcp-server",
  "command": "python",
  "args": [
    "-m",
    "ipfs_accelerate_py.cli_entry",
    "mcp",
    "start",
    "--port",
    "3001",
    "--dashboard"
  ],
  "description": "连接到IPFS Accelerate MCP服务器以获取AI推理、模型管理和GitHub自动化功能。"
}
  • 'server_name': 服务器的唯一标识符,可自定义,例如“ipfs-accelerate-mcp-server”。
  • 'command': 启动MCP服务器的执行命令,通常是'python'。
  • 'args': 启动MCP服务器所需的参数列表。
    • '-m ipfs_accelerate_py.cli_entry': 指示Python解释器作为模块运行'ipfs_accelerate_py'包中的CLI入口点。
    • 'mcp start': 调用CLI中用于启动MCP服务器的子命令。
    • '--port 3001': 指定MCP服务器监听的端口,例如'3001'。您可以根据实际部署环境更改此端口。
    • '--dashboard': 启动MCP服务器自带的Web仪表板,提供可视化界面进行模型管理和监控。
  • 'description': 服务器功能的简要说明,帮助用户了解其提供的主要服务。

基本使用方法

  1. 启动MCP服务器: 在克隆并安装了依赖的仓库根目录中,运行以下命令启动MCP服务器:

    python -m ipfs_accelerate_py.cli_entry mcp start --port 3001 --dashboard

    服务器启动后,您会在控制台看到相关的日志信息。如果您启动了仪表板,可以在浏览器中访问 'http://localhost:3001' 来查看和管理模型及工作流。

  2. 通过MCP客户端调用工具: MCP服务器启动后,您的MCP客户端(例如VS Code的MCP扩展)就可以通过JSON-RPC协议连接到该服务器。连接成功后,您可以使用客户端提供的接口来调用服务器暴露的各种工具。

    以下是您可以调用的部分工具示例(具体调用方式取决于您的MCP客户端实现):

    • 列出可用模型: 调用名为 'list_models' 的工具,通常不带任何参数。服务器将返回可用的AI模型列表。
    • 获取服务器信息: 调用名为 'get_server_info' 的工具,通常不带任何参数。服务器将返回其自身(IPFS Accelerate MCP服务器)的版本、能力和运行状态等信息。
    • 测试AI推理: 调用名为 'test_inference' 的工具,并提供 'model_type'(例如'text', 'image', 'audio')和 'input_text' 参数。例如:
      {
        "model_type": "text",
        "input_text": "Write a short poem about stars."
      }
      服务器将模拟或执行AI推理并返回结果。
    • 获取队列状态: 调用名为 'get_queue_status' 的工具,通常不带任何参数。服务器将返回当前AI推理任务队列的详细状态,包括活跃端点、队列大小和处理中的任务。

通过这些工具,MCP客户端可以全面利用IPFS Accelerate MCP服务器的强大功能,实现LLM应用与硬件加速AI推理和分布式服务的高效集成。

信息

分类

AI与计算