第 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 与量化
- 按官方文档编译 llama.cpp,建议和模型目录放同级
- 在
convert_hf_to_gguf.py的get_vocab_base_pre末尾:若识别失败,临时把结果设为"qwen2" - 转换:
python convert_hf_to_gguf.py /path/to/minimind-model - 可选量化:
llama-quantize ... Q8_0 - 推理:
./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」一节。新手不是必做。