在使用 LLaMA-Factory 进行大模型微调、评估和部署时,llamafactory-cli 是最常用的命令行工具。它不仅能处理命令行对话、训练和评估,还提供了网页界面和 API 服务等多种交互方式。下面我们来梳理一下常用指令的实际用法。
命令概览
| 命令 | 功能简述 |
|---|---|
| llamafactory-cli api | 启动 OpenAI 风格的 API 服务 |
| llamafactory-cli chat | 在命令行中启动聊天界面 |
| llamafactory-cli eval | 评估模型 |
| llamafactory-cli export | 合并 LoRA 适配器并导出模型 |
| llamafactory-cli train | 训练模型 |
| llamafactory-cli webchat | 启动网页聊天界面 |
| llamafactory-cli webui | 启动 LlamaBoard 界面 |
| llamafactory-cli version | 显示版本信息 |
版本与界面
版本检查
验证安装是否成功,直接运行:
llamafactory-cli version
执行后终端会返回当前版本号,确认环境无误。
可视化界面
启动 LlamaBoard 图形化操作入口,适合不想敲命令的同学:
llamafactory-cli webui
浏览器访问 http://127.0.0.1:7860 即可进入管理后台,所有配置都能通过点击完成。
对话与推理
命令行聊天
无需启动网页,直接在终端与模型对话,适合快速测试。基础用法如下:
llamafactory-cli chat --model_name_or_path <模型路径> --template <模板名称>
例如加载本地 DeepSeek 模型:
llamafactory-cli chat --model_name_or_path ~/.cache/modelscope/hub/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --template deepseekr1
这里要注意,如果模型已经训练过,也可以指定 adapter 路径加载 checkpoint,这样能直接复用之前的微调成果:
llamafactory-cli chat --model_name_or_path <基座模型> --adapter_name_or_path <训练后的 LoRA 路径> --template <模板名称>
网页聊天
功能类似,但提供 Web 页面交互体验,输入输出更直观:
llamafactory-cli webchat --model_name_or_path <模型路径> --template <模板名称>
同样支持加载训练后的 checkpoint 进行对话测试,实际运行时注意端口占用情况。
API 服务
启动 OpenAI 风格的 API 服务,方便外部调用或集成到其他系统。这里有个常见坑,命令是 api 而不是 chat:
llamafactory-cli api --model_name_or_path <模型路径> --template <模板名称>
启动成功后,可通过 Swagger UI 查看文档:http://localhost:8000/docs。主要开放了三个接口:列出模型、创建聊天回复、以及评分评估。
示例请求体包含模型名、消息历史及采样参数(temperature, top_p 等),直接 POST 到 /v1/chat/completions 即可获取流式或非流式响应。
训练与评估
模型训练
启动微调流程,具体配置需结合训练脚本或配置文件,通常涉及数据集路径、超参设置等细节。
模型评估
对训练后的模型性能进行测试,验证效果是否符合预期。
模型导出
合并 LoRA 适配器并导出最终模型权重,这一步完成后模型才能独立部署使用。
(注:详细训练配置建议参考官方文档或相关教程)
总结
掌握这些命令能帮你快速搭建环境。通常从 chat/webchat 体验效果,用 api 部署服务,最后走 train → eval → export 完成闭环。灵活组合这些指令,大模型微调与应用就没那么复杂了。

