MiniMind 新手教程

第 10 章:部署与生态

把权重变成别人能调的服务:格式转换、OpenAI 兼容 API、vLLM、llama.cpp、Ollama。

1Torch ↔ Transformers

scripts/convert_model.py 在两种格式之间转换。主线发布的开源模型一般是 Transformers 格式;你自己训的 *.pth 要接社区工具,先转过去。

2OpenAI 兼容接口

scripts/serve_openai_api.py 是一个轻量聊天服务,可接 FastGPT、Open WebUI、Dify。额外支持 reasoning_content、tool_calls、open_thinking。

cd scripts
python serve_openai_api.py
python chat_api.py   # 自带测试客户端
curl http://localhost:8998/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "model-identifier",
    "messages": [{"role": "user", "content": "世界上最高的山是什么?"}],
    "temperature": 0.7,
    "max_tokens": 1024,
    "stream": true,
    "open_thinking": true
  }'

把 HuggingFace / ModelScope 下的模型目录放在仓库根下(例如 ./minimind-3),里面要有 config.json、tokenizer 和权重。

3高性能推理引擎

都需要 CUDA,按需使用。RL 训练也可以把 SGLang 当成 rollout 后端。

# SGLang
python -m sglang.launch_server --model-path /path/to/model \
  --attention-backend triton --host 0.0.0.0 --port 8998

# vLLM
vllm serve /path/to/model --model-impl transformers \
  --served-model-name "minimind" --port 8998

4llama.cpp 与量化

  1. 按官方文档编译 llama.cpp,建议和模型目录放同级
  2. 在 convert_hf_to_gguf.py 的 get_vocab_base_pre 末尾:若识别失败,临时把结果设为 "qwen2"
  3. 转换:python convert_hf_to_gguf.py /path/to/minimind-model
  4. 可选量化:llama-quantize ... Q8_0
  5. 推理:./build/bin/llama-cli -m /path/to/model.gguf

5Ollama

最快体验:ollama run jingyaogong/minimind-3。

本地 GGUF 则在模型目录写 minimind.modelfile,FROM 指向 gguf,配 SYSTEM 和 TEMPLATE(仓库 README 有完整模板,含 tool / think 标签),再 ollama create。

6还有 MNN

阿里 MNN 可把模型导出成 4-bit HQQ,方便端侧。细节见仓库 README「MNN」一节。新手不是必做。