本地LLM集成框架

llamacpp-mcp是一个用于运行本地大型语言模型的MCP封装框架,特别支持化学分子SMILES字符串生成等专业功能。

  • by lukasmki
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 lukasmki/llamacpp-mcp

使用说明

llamacpp mcp

用于运行本地LLM的MCP(模型上下文协议)包装器,使用 llama-cpp-python该项目提供了一个框架,用于将本地语言模型集成为MCP工具,并内置对SmileyLlama等专用模型的支持。

SmileyLlama集成

为具有细粒度约束的类药物分子生成SMILES字符串(化学符号):

  • Lipinski的五法则验证
  • 氢键供体/受体极限
  • 分子量和LogP约束
  • 弹头SMARTS图案匹配
  • 宏周期检测和滤波
  • 还有更多。..

安装

先决条件

  • Python≥3.13
  • uv (推荐)或pip

设置

克隆存储库并安装依赖项:

git clone <repository-url>
cd llamacpp-mcp
uv sync

后端配置

这 llama-cpp-python 库需要使用硬件加速支持进行编译。为您的系统选择合适的后端:

CUDA (NVIDIA GPU):

CMAKE_ARGS="-DGGML_CUDA=on" uv pip install llama-cpp-python --force-reinstall --no-cache-dir

ROCm (AMD GPU):

CMAKE_ARGS="-DGGML_HIPBLAS=on" uv pip install llama-cpp-python --force-reinstall --no-cache-dir

金属 (苹果硅):

CMAKE_ARGS="-DGGML_METAL=on" uv pip install llama-cpp-python --force-reinstall --no-cache-dir

仅CPU (无GPU加速):

uv sync

用法

运行代理示例

设置您的 example/fastagent.secrets.yaml:

anthropic:
  api_key: your-api-key-here

然后在终端中运行代理界面:

cd example/
uv run --extra agent agent.py

运行MCP服务器

使用GGUF型号启动MCP服务器:

uv run llamacpp-mcp -i /path/to/model.gguf

其他参数可以作为命令行参数传递:

uv run llamacpp-mcp --input model.gguf -n_gpu_layers -1 -n_threads 8

常用参数:

  • -n_gpu_layers:要卸载到GPU的模型层数(全部为-1)
  • -n_threads:要使用的CPU线程数
  • -n_ctx:上下文窗口大小
  • -verbose:详细程度

可用工具

generate_微笑

为具有可选约束的类药物分子生成SMILES字符串。

参数:

  • max_hbond_donors:最大氢键供体
  • max_hbond_acceptors:最大氢键受体
  • max_molecular_weight:最大分子量
  • max_clogp:最大计算LogP
  • lipinski_rule_of_five:执行利平斯基的五分法
  • rule_of_three:对片段状分子执行三法则
  • 以及其他约束选项。..

依赖项

核心:

  • fastmcp>=2.13.1 -MCP服务器框架
  • llama-cpp-python>=0.3.16 -LLM推理机

可选:

  • fast-agent-mcp>=0.2.25 -用于基于代理的集成

发展

项目设置

该项目使用 uv 用于依赖性管理。安装uv后,运行:

uv sync

这将在本地虚拟环境中安装所有依赖项。

添加新模型

要添加新的模型类型,请执行以下操作:

  1. 在下创建子目录 src/llamacpp_mcp/models/
  2. 实施 models.py 使用Pydantic约束定义
  3. 实施 tools.py 具有刀具注册功能
  4. 在主界面中导入和注册工具 __init__.py

配置

模型参数可以通过以下方式配置:

  1. 命令行参数 -直接传递到 llamacpp-mcp
  2. 环境变量 -在运行服务器之前设置
  3. 代理工具配置 -请参阅 example/fastagent.config.yaml 供参考

许可证

MIT许可证

作者

卢卡斯·金