项目简介

该仓库是 Boltz-1 生物分子结构预测模型的扩展,特别增强了微调和推理功能,包括对 RNA 结构预测的支持。它集成了一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型(LLM)或其他 AI 客户端提供一个标准化的接口,以便访问 Boltz-1 的复杂工作流程,如数据准备、模型训练、结构预测和结果分析。

主要功能点

通过 MCP 服务器,AI 客户端可以:

  • 获取信息 (资源):访问项目文档、配置模板、模型详情等。
  • 执行任务 (工具)
    • 输入准备:处理生物分子结构文件(如 PDB/CIF)和多序列比对文件(MSA),准备模型所需的输入数据格式。
    • 模型训练与微调:启动 Boltz-1 模型的端到端训练或使用 LoRA 等方法进行高效微调。
    • 结构预测 (推理):利用训练好的模型预测蛋白质、RNA 或复合体的 3D 结构。
    • 结果分析:解析和分析预测结果,提取关键指标和信息。
    • 远程访问与管理:通过 SSH 连接远程集群,检查路径,改变目录,以及启动数据处理所需的 Redis 服务器。

安装步骤

要安装包含 MCP 服务器在内的 Boltz-1 扩展功能,请执行以下步骤:

  1. 克隆仓库:
    git clone https://github.com/wiwnopgm/boltz-finetune.git
    cd boltz-finetune
  2. 安装 Python 包:强烈建议在一个干净的 Python 环境中安装,以避免依赖冲突。
    pip install -e .
    请注意,运行数据处理、训练或推理工具可能需要其他依赖(如 mmseqs2、redis-server、OpenStructure),这些需要在服务器运行环境中自行安装和配置。

服务器配置 (供 MCP 客户端使用)

MCP 客户端需要知道如何启动 Boltz-1 MCP 服务器。通常,客户端通过标准 I/O (Stdio) 协议与服务器通信。以下是 MCP 客户端配置 Boltz-1 服务器的示例信息:

{
  "serverName": "Boltz-1 Server",
  "command": "python",
  "args": [
    "/path/to/your/boltz-finetune/mcp-server/mcp_server.py"
  ],
  "description": "MCP server for Boltz-1 biomolecular structure prediction."
}
  • 'serverName': 服务器在其能力声明中使用的名称。
  • 'command': 启动服务器的可执行命令。通常是 'python'。
  • 'args': 传递给 'command' 的参数列表。第一个参数应是 'mcp-server/mcp_server.py' 脚本的绝对或相对路径。'/path/to/your/boltz-finetune/' 应替换为您实际克隆仓库的路径。
  • 'description': 服务器的简要描述。

MCP 客户端将使用这些信息启动服务器进程,并通过其标准输入/输出来发送和接收 JSON-RPC 消息。

基本使用方法

用户通常不直接与 MCP 服务器交互。服务器由兼容的 MCP 客户端(例如基于 MCP 的 AI 助手或集成环境)启动和连接。一旦连接建立,客户端可以:

  1. 发现能力:客户端会向服务器请求其提供的所有工具和资源列表及其描述。
  2. 访问资源:客户端可以请求获取特定资源的内容,例如通过 'boltz://docs' 获取服务器文档。
  3. 调用工具:客户端可以调用服务器注册的工具,例如 'process_train_data' 工具,并提供必要的参数(如输入文件路径、输出目录等)。服务器将执行相应的 Boltz-1 脚本或命令,并将结果或状态返回给客户端。

仓库中的 'mcp-server/boltz_mcp_streamlit.py' 和 'mcp-server/gemini_mcp_client.py' 提供了示例,展示了如何构建 MCP 客户端来与此服务器交互并利用其暴露的功能。

信息

分类

AI与计算