跳至内容

在本地运行 MiniMax M2.7 以实现智能体式编码

在本指南中,我们将租用一台 H200 GPU 并安装 llama.cpp,下载 MiniMax M2.7 GGUF,在本地运行它,在 WebUI 中测试,并将其连接到 OpenCode。
已更新 2026年10月6日  · 11分钟 阅读

使用 AI 探索

ChatGPTClaudePerplexity

MiniMax M2.7 从众多开源权重模型中脱颖而出,因为它专为复杂的智能体工作流而设计,包括工具使用、多步编码任务以及面向效率的推理。

尽管它体量属于中等,而非最大的模型层级,MiniMax M2.7 仍定位于以更务实的部署成本提供强劲的编码与推理表现。

在本指南中,我将使用 Hyperbolic,因为它提供最便宜的按需 H200 访问、快速的资源开通,以及便捷的方式来启动用于本地式模型服务的 Linux GPU 机器。

您将学到如何:

  • 启动一台 Hyperbolic H200 Linux 机器

  • 安装用于本地推理的 llama.cpp

  • 下载 Unsloth 的 MiniMax M2.7 UD-IQ4_XS GGUF 版本

  • 将 llama-server 作为兼容 OpenAI 的本地 API 运行

  • 将本地模型连接到 OpenCode,开展智能体式编码工作流

MiniMax M2.7 有哪些新变化?

与早期的开源模型(例如 MiniMax M2.5)相比,MiniMax M2.7 引入了更偏向智能体的方向。其亮点不止在于编码或推理能力,还在于它被设计用于参与自身的改进过程。

据 MiniMax 介绍,M2.7 是其首个能够深入参与自我演进的模型,能够帮助构建复杂的智能体框架、处理繁复的效率型任务,并与智能体团队、高级技能以及动态工具搜索协同工作。

M2.7 的一大转变在于自我演进工作流。在开发阶段,模型被用于更新自身记忆、为强化学习实验创建复杂技能,并基于实验结果优化自身的学习过程。

这一切使得 M2.7 不再像标准的静态模型,更像是一个为迭代改进而构建的系统。

Minimax M2.7 Model Self-Evolution diagram.

来源:MiniMaxAI/MiniMax-M2.7 · Hugging Face 

我觉得最有意思的是,MiniMax 将 M2.7 定位为不止是另一个开源模型。对我而言,这指向一种更可持续的模型改进与训练方式,其中高级系统能在自身发展中扮演更积极的角色。

与其完全依赖规模庞大的新数据集,它展示了新式训练方法与自我改进闭环如何进一步推动模型性能。

步骤 1:搭建环境

前往 Hyperbolic 注册账号,并使用银行卡至少充值 $5。然后进入 GPUs 选项卡,点击 Launch Instance,选择 H200 SXM5 机器。

本指南使用远程 GPU 服务器,因此在启动机器之前,您需要确保 SSH 访问 准备就绪。SSH 可以让您从本地终端安全连接到运行在 Hyperbolic 上的 Linux 机器。

如果您已在使用 SSH 并配置了密钥对,可继续下一部分。否则,您需要先创建一个密钥对。

创建或准备您的 SSH 密钥

在本地计算机上打开终端,如未配置,请生成 SSH 密钥:

ssh-keygen

按提示操作,回车将其保存在默认位置。您也可以设置口令以增强安全性,但这不是必须的。

密钥创建完成后,打印您的公钥以便复制:

cat ~/.ssh/id_rsa.pub

如果您的系统改用 Ed25519 格式,请运行:

cat ~/.ssh/id_ed25519.pub

复制完整输出并将其添加到您的 Hyperbolic 账户。请确保只上传公钥。私钥应保留在您自己的计算机上,且绝不可共享。

启动实例

添加 SSH 密钥后,前往 Hyperbolic 控制台,打开 GPUs 选项卡并点击 Launch Instance。在可用机器列表中,为本次设置选择 H200 SXM5 实例。

Hyperbolic dashboard GPUs tab.

在启动机器之前,请为实例起一个清晰易辨的名称。若您稍后启动多台机器或过一段时间再回来使用,这将方便很多。

随后检查实例设置,确认已附加您的 SSH 密钥,并启动机器。平台将开始为您部署 GPU 服务器。

Launching the H200 Instance in Hyperbolic.

当机器完全就绪后,它会在控制台中显示为“活动”。此时,您也将看到需要在本地终端中连接用的 SSH 命令。下一步会用到该命令。

通过 SSH 连接到机器

现在在本地终端中运行带端口转发的 SSH 命令,从一开始就启用转发:

ssh -L 8001:127.0.0.1:8001 root@<H200-Instance-IP>

这会将您的本地机器连接至远程 Linux 服务器,并转发 8001 端口,稍后您即可通过浏览器访问 llama.cpp 服务器:http://127.0.0.1:8001。

如果这是您首次连接该服务器,SSH 会要求您确认指纹。输入 yes 后按 Enter。

如果您在创建 SSH 密钥时设置了口令,SSH 会在连接完成前询问它。输入您的口令并按 Enter。建议使用口令,因为它能为您的私钥增加一层保护。

Connect to the H200 machine over SSH

检查 GPU 是否可用

获得对 H200 机器的远程访问后,首先要检查 GPU 是否可见以及 NVIDIA 驱动是否正常工作。

运行:

nvidia-smi

该命令应显示已安装的 NVIDIA GPU、驱动版本、CUDA 版本及可用显存。如果能在此处看到 H200,说明该机器已可用于推理工作。

H200 NVIDIA GPU, the driver version, CUDA version, and the available memory.

安装构建工具

现在安装构建 llama.cpp 并在本地运行模型所需的系统软件包。

运行:

apt-get update
apt-get install -y pciutils build-essential cmake git curl wget libcurl4-openssl-dev tmux python3 python3-pip

这些软件包为后续设置提供所需工具:

  • build-essential 和 cmake 用于编译 llama.cpp

  • git 用于克隆代码仓库

  • curl 与 wget 用于下载文件

  • tmux 可在关闭终端后保持长时运行的进程持续活跃。

步骤 2:安装 llama.cpp

机器准备就绪后,下一步安装 llama.cpp,我们将用它在本地运行 MiniMax M2.7。它既提供测试模型的命令行工具,也提供稍后要以兼容 OpenAI 的 API 方式暴露的服务器。

克隆 llama.cpp 仓库

首先将官方 llama.cpp 仓库克隆到远程机器:

git clone https://github.com/ggml-org/llama.cpp

这会在当前目录创建一个 llama.cpp 文件夹,包含构建项目所需的全部源文件。

配置构建

接着运行 CMake 配置构建。在本次设置中,我们启用了 CUDA,以便 llama.cpp 可使用 H200 GPU 进行推理。

cmake llama.cpp -B llama.cpp/build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON

该命令会在 llama.cpp/build 目录中生成构建文件。

构建所需二进制文件

现在编译我们需要的工具:

cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-server llama-gguf-split

这会构建三个主要的可执行文件:

  • llama-cli:用于在终端中测试和运行模型

  • llama-server:通过本地 API 和浏览器界面提供模型服务

  • llama-gguf-split:用于处理切分的 GGUF 模型文件

将二进制文件复制到主目录

构建完成后,将编译好的二进制文件复制到主 llama.cpp 目录:

cp llama.cpp/build/bin/llama-* llama.cpp

这样无需每次都输入完整的构建路径,即可更方便地运行这些工具。

检查安装是否成功

最后运行以下帮助命令,确认一切安装正确:

./llama.cpp/llama-cli --help
./llama.cpp/llama-server --help

如果两个命令都返回用法信息而非报错,说明 llama.cpp 已成功安装,您已准备好下载 MiniMax M2.7 模型。

步骤 3:下载 MiniMax M2.7 GGUF 模型

在下载模型前,先在远程机器上安装 Hugging Face 下载工具:

pip -q install -U "huggingface_hub[hf_xet]" hf-xet hf_transfer

这会安装 hf CLI 以及 hf-xet,有助于更高效地处理大文件下载。

接着创建一个存放模型文件的文件夹,并下载 MiniMax M2.7 的 UD-IQ4_XS GGUF 版本。

运行:

mkdir -p /models/minimax-m27
hf download unsloth/MiniMax-M2.7-GGUF \
--local-dir /models/minimax-m27 \
--include "*UD-IQ4_XS*"

Downloading the UD-IQ4_XS GGUF version of MiniMax M2.7

这将创建专用的模型目录,并仅下载 UD-IQ4_XS 文件,即本指南使用的 4 位量化版本。

下载体积较大,约 108 GB,具体耗时取决于您实例的网络速度。

下载完成后,运行以下命令检查是否包含所有 GGUF 分片:

find /models/minimax-m27 -name "*.gguf"

您应该会看到列出四个 GGUF 文件,类似如下:

/models/minimax-m27/UD-IQ4_XS/MiniMax-M2.7-UD-IQ4_XS-00003-of-00004.gguf
/models/minimax-m27/UD-IQ4_XS/MiniMax-M2.7-UD-IQ4_XS-00002-of-00004.gguf
/models/minimax-m27/UD-IQ4_XS/MiniMax-M2.7-UD-IQ4_XS-00001-of-00004.gguf
/models/minimax-m27/UD-IQ4_XS/MiniMax-M2.7-UD-IQ4_XS-00004-of-00004.gguf

如果四个文件都在,说明模型已正确下载,您可以在下一步启动服务器。

步骤 4:在本地运行 MiniMax M2.7

现在使用 llama-server 启动模型。这将加载 MiniMax M2.7 GGUF 模型,在 GPU 上运行,并通过本地服务器暴露在 8001 端口。

先启动一个 tmux 会话

在启动模型服务器之前,先开启一个 tmux 会话,这样即使 SSH 连接断开或您关闭终端窗口,进程也能继续运行。

运行:

tmux new -s minimax

这会创建一个名为 minimax 的 tmux 会话,我们将用它来运行服务器。

启动服务器

现在进入 llama.cpp 目录,并使用模型路径和推理参数启动服务器:

cd llama.cpp
./llama-server \
--model /models/minimax-m27/UD-IQ4_XS/MiniMax-M2.7-UD-IQ4_XS-00001-of-00004.gguf \
--alias "MiniMax-M2.7" \
--host 0.0.0.0 \
--port 8001 \
--ctx-size 32768 \
--batch-size 2048 \
--ubatch-size 512 \
--threads 16 \
--parallel 1 \
--flash-attn on \
--n-gpu-layers 999 \
--temp 1.0 \
--top-p 0.95 \
--top-k 40

这会在 8001 端口启动服务器并加载模型。随着模型加载,请在终端中观察日志。

Loading the Minimax M 2.7 layer into the GPU memory.

如果模型成功加载进 GPU 内存,您会看到服务器在所配置地址与端口上监听的提示信息。

Minimax M2.7 Model serving at port 8001

让服务器在后台持续运行

模型完全加载后,您可以将其保留在 tmux 中运行,并从会话中分离而不停止进程。

按下 Ctrl+B,然后按 D。这会将您带回普通终端,同时让模型服务器在后台保持运行。

若稍后想再次查看日志,可通过以下方式重新附着到会话:

tmux attach -t minimax

检查模型服务器是否正常工作

服务器启动后,打开另一个终端会话并运行:

curl http://127.0.0.1:8001/v1/models

您应看到类似如下的输出:

{"models":[{"name":"MiniMax-M2.7","model":"MiniMax-M2.7","modified_at":"","size":"","digest":"","type":"model","description":"","tags":[""],"capabilities":["completion"],"parameters":"","details":{"parent_model":"","format":"gguf","family":"","families":[""],"parameter_size":"","quantization_level":""}}],"object":"list","data":[{"id":"MiniMax-M2.7","aliases":["MiniMax-M2.7"],"tags":[],"object":"model","created":1776336809,"owned_by":"llamacpp","meta":{"vocab_type":2,"n_vocab":200064,"n_ctx_train":196608,"n_embd":3072,"n_params":228689764864,"size":108405492736}}]}

如果您看到列出了 MiniMax-M2.7 模型,说明服务器运行正常。

在浏览器中打开 WebUI

由于您已在 8001 端口启用了 SSH 端口转发,现在可以直接在浏览器中打开 llama.cpp 的 WebUI,访问 http://127.0.0.1:8001 即可。

这让您可以直接在本地浏览器中访问模型界面。

llama.cpp WebUI

测试模型

此时模型应已可用。您可以在 WebUI 中测试,或通过终端发起 API 请求,以确认一切正常。

在我的设置中,MiniMax M2.7 的响应极快,达到了约每秒 120 个 token。坦率地说,这感觉是我在这一体量上运行过的最快的本地模型之一,尤其是在更长、技术性更强的提示下仍然非常灵敏。

Testing the Minimax M2.7 in the llama.cpp WebUI

当其能正确响应后,MiniMax M2.7 就已在本地完整运行,并可连接到您的编码工作流。

步骤 5:将 MiniMax M2.7 与 OpenCode 配合使用

现在本地 llama.cpp 服务器已在运行,下一步是将其连接到 OpenCode。OpenCode 是一个基于终端的编码智能体,支持通过其配置文件添加自定义提供方。如果您想了解更多,请查看我们的 OpenCode 与 Claude Code 对比。

对于像 llama.cpp 这样的本地模型,最干净的设置方式是将 OpenCode 指向运行在 http://127.0.0.1:8001/v1 的本地、兼容 OpenAI 的端点。

安装 OpenCode

在远程机器上通过以下命令安装 OpenCode:

curl -fsSL https://opencode.ai/install | bash

Installing the OpenCode

然后重新加载您的 shell,并检查版本以确认安装成功:

source ~/.bashrc
opencode --version
1.4.6

创建 OpenCode 配置

接下来,创建一个 opencode.json 文件,告知 OpenCode 使用您的本地 llama.cpp 服务器作为兼容 OpenAI 的提供方。

cat > opencode.json <<'EOF'
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "llama.cpp": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "llama-server (local)",
      "options": {
        "baseURL": "http://127.0.0.1:8001/v1",
        "timeout": 600000,
        "chunkTimeout": 120000
      },
      "models": {
        "MiniMax-M2.7": {}
      }
    }
  },
  "model": "MiniMax-M2.7"
}
EOF

该配置将 OpenCode 指向本地服务器,将默认模型设为 MiniMax-M2.7,并采用与 OpenCode 文档一致的、兼容 OpenAI 的自定义提供方方式。OpenCode 也支持在应用内使用 /models 命令选择模型。

启动一个测试项目

现在创建一个简单的项目文件夹,并在其中启动 OpenCode:

mkdir ml-app
cd ml-app/
Opencode

OpenCode 打开后,输入 /models,并在本地提供方下选择 MiniMax-M2.7。

Selecting the locally run Minimax-m2.7 model

在编码任务上测试 MiniMax M2.7

选择模型后,给出一个真实的编码提示。例如:

Build a simple machine learning API app with FastAPI using just two files: one app.py file for the API and model loading/prediction logic, and one test_app.py file for basic endpoint tests.

实际使用中,此处的体验会开始令人印象深刻。模型几乎立即开始工作,创建任务计划并着手构建文件。在我的测试中,它的响应非常灵敏,这与通过 llama.cpp 运行时的高速表现相吻合。

Interacting with the opencode using the locally run minimax m2.7 model

最终,它能够创建文件、运行测试并展示结果。

Respose generated by the locally run minimax m2.7 model

之后,您可以继续推进,比如让它测试 ML API 端点、改进应用结构或添加新功能。由于 OpenCode 针对基于终端的编码工作流而构建,此时本地 MiniMax 的设置不再只是“在服务器上跑个模型”,而更像一个实用的编码智能体。

Testing the API within opencode using the locally run minimax m2.7 model

在我的场景中,这个本地 ML API 应用在运行结束时已能正常工作。我们运行了单元测试、做了冒烟测试,并确保在运行与测试代码时没有错误。总体而言,完成全部流程大约花了 2 分钟,这很好地体现了该模型在本地编码工作流中的速度感。

关于 MiniMax M2.7 本地部署的结语

我最初从 vLLM 开始,但在尝试运行 4 位 AWQ 模型时遇到了不少问题。就这类设置而言,我发现 llama.cpp 更易上手。安装更简单、流程更直观,也能更快地让一切正确跑起来。

我还喜欢 llama.cpp 自带 WebUI,可以立即在浏览器中用类似 ChatGPT 的界面测试模型。这使得快速检查提示、测试响应、以及在连接到 OpenCode 之前确认模型工作正常变得更容易。

对于本地使用而言,我认为 MiniMax M2.7 是我迄今运行过的最佳模型之一。它比 GLM 5.1 更小,速度更快,善于理解代码,并在智能体式编码任务上表现强劲。即便是 4 位版本 在处理更复杂任务时也有出色表现,给人一种可实际落地使用,而非仅供试验的感觉。

速度是这套方案突出的重要原因。在我的场景中,MiniMax M2.7 以约 每秒 120 个 token 的平滑生成速度运行,并且通过 SSH 端口转发,我可以像在本机运行一样从本地浏览器或 API 使用它。这让整个工作流显得快速、简洁且非常实用。


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

作为一名持证的数据科学家,我热衷于利用前沿技术打造创新的机器学习应用。凭借在语音识别、数据分析与报告、MLOps、对话式人工智能以及自然语言处理方面的扎实背景,我不断打磨构建智能系统的能力,力求带来切实影响。除技术专长外,我也擅长沟通,能够将复杂概念提炼为清晰、简明的表述。因此,我成为数据科学领域备受关注的博主,与不断壮大的数据专业人士社区分享洞见与实践经验。目前,我专注于内容创作与编辑,借助大语言模型打造有力且吸引人的内容,帮助企业与个人更好地发挥数据价值。

主题
AI 代理
大语言模型
人工智能

AI 工程课程

课程

构建可扩展的 Agentic 系统

1 小时 30 分钟
22.2K
了解借助 MCP 和 A2A 等框架扩展 AI 代理所需的内容。
查看详情Right Arrow
开始课程
查看更多Right Arrow