使用说明

项目简介

LocaLLama MCP Server旨在降低大型语言模型(LLM)应用的token使用成本。它通过智能决策引擎,根据任务的复杂度、上下文长度、用户偏好(速度、成本、质量)等因素,动态地将编码任务路由到本地LLM(如LM Studio, Ollama)或付费API(如OpenRouter)。该MCP服务器集成了成本监控、基准测试和OpenRouter API,为LLM客户端提供了一个经济高效且灵活的上下文服务框架。

主要功能点

  • 智能任务路由: 根据预设规则和实时成本分析,自动选择本地LLM或付费API处理编码任务,优化成本和性能。
  • 成本与Token监控: 实时监控API使用情况、累计成本和Token消耗,为路由决策提供数据支持。
  • 本地LLM集成: 支持LM Studio和Ollama等本地LLM服务,允许用户配置本地LLM的端点和默认模型。
  • OpenRouter集成: 无缝集成OpenRouter,访问多种免费和付费模型,扩展模型选择范围。
  • 基准测试系统: 内置基准测试工具,比较本地LLM和付费API模型的性能(响应时间、成功率、质量评分、Token使用量),并生成详细报告。
  • 灵活配置: 通过环境变量进行详细配置,包括本地LLM端点、成本/质量阈值、API密钥等。
  • JSON-RPC协议通信: 使用标准的JSON-RPC协议与MCP客户端通信。
  • 资源和工具管理: 提供资源(如模型列表、服务器状态、API使用量)和工具(如任务路由、成本估算、模型基准测试)的注册和访问能力。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Heratiki/locallama-mcp.git
    cd locallama-mcp
  2. 安装依赖:

    npm install
  3. 构建项目:

    npm run build

服务器配置

MCP客户端需要配置MCP服务器的启动命令及其参数,以下是 'locallama-mcp' 服务器的 Cline.Bot 配置示例。请注意修改 'args' 字段中的路径为 'locallama-mcp' 仓库的实际路径。

{
  "mcpServers": {
    "locallama": {
      "command": "node",
      "args": ["/path/to/locallama-mcp/dist/index.js"],
      "env": {
        "LM_STUDIO_ENDPOINT": "http://localhost:1234/v1", // LM Studio 端点 (如果使用)
        "OLLAMA_ENDPOINT": "http://localhost:11434/api",   // Ollama 端点 (如果使用)
        "DEFAULT_LOCAL_MODEL": "qwen2.5-coder-3b-instruct", // 默认本地模型
        "TOKEN_THRESHOLD": "1500",                         // Token 阈值
        "COST_THRESHOLD": "0.02",                          // 成本阈值
        "QUALITY_THRESHOLD": "0.07",                       // 质量阈值
        "OPENROUTER_API_KEY": "your_openrouter_api_key_here" // OpenRouter API 密钥 (如果使用)
      },
      "disabled": false
    }
  }
}

配置参数说明:

  • 'command': 启动服务器的命令,这里使用 'node'。
  • 'args': 启动命令的参数,指向编译后的 'index.js' 文件路径。请务必更新为你的实际路径
  • 'env': 环境变量配置,用于服务器的各项设置:
    • 'LM_STUDIO_ENDPOINT': 本地 LM Studio 服务器的 API 端点。
    • 'OLLAMA_ENDPOINT': 本地 Ollama 服务器的 API 端点。
    • 'DEFAULT_LOCAL_MODEL': 当任务路由到本地LLM时,默认使用的模型名称。
    • 'TOKEN_THRESHOLD': 任务上下文Token数量阈值,超过此阈值可能考虑使用本地LLM。
    • 'COST_THRESHOLD': 任务预估成本阈值(美元),超过此阈值可能倾向于使用本地LLM。
    • 'QUALITY_THRESHOLD': 任务质量评分阈值,低于此阈值可能优先使用付费API。
    • 'OPENROUTER_API_KEY': OpenRouter API 的密钥,用于访问OpenRouter的模型,请替换为你的实际密钥,如果不需要OpenRouter集成可以留空

基本使用方法

  1. 启动服务器: 在 'locallama-mcp' 仓库目录下,运行以下命令启动 MCP 服务器:

    npm start
  2. 通过 MCP 客户端与服务器交互: LocaLLama MCP Server 实现了 MCP 协议,可以与任何兼容 MCP 协议的客户端进行交互。例如,可以使用 'chat.ts' 脚本进行简单的命令行交互 (需要先 'npm install -g typescript ts-node' 安装 TypeScript 运行环境):

    cd locallama-mcp
    ts-node chat.ts

    在 'chat.ts' 提供的命令行界面中,可以输入命令来调用服务器提供的工具和资源,例如:

    • 'status': 获取服务器状态。
    • 'models': 列出可用的模型。
    • 'list tools': 列出可用的工具。
    • 'route "Generate code" 1000 200 0.7 quality': 调用 'route_task' 工具路由一个代码生成任务。
    • 'estimate 1000 500': 调用 'get_cost_estimate' 工具估算Token成本。
    • 'benchmark local:llama3:8b': 调用 'benchmark_task' 工具对本地模型进行基准测试。
    • 'help': 查看帮助信息。
    • 'exit': 退出交互界面。

    更多工具和资源请参考 'list tools' 和 'list resources' 命令的输出信息。

  3. 集成到 MCP 客户端 (如 Cline.Bot, Roo Code): 根据 MCP 客户端的文档,配置 MCP 服务器连接信息(通常是服务器启动命令和参数),即可在客户端中使用 LocaLLama MCP Server 提供的上下文服务和工具。Cline.Bot 的配置示例见 服务器配置 部分。

信息

分类

AI与计算