核心结论:您所遇到的问题大概率并非操作失误,而是由版本设计差异所致——v0.6.3未将llamafactory-cli注册为入口脚本,因此安装后不会生成对应的可执行文件。
一、为何v0.6.3缺失llamafactory-cli命令
LLaMA Factory在0.6.x版本阶段,项目名称为llmtuner。查阅pyproject.toml或setup.py可以发现:包名注册为llmtuner,控制台入口配置中并未声明llamafactory-cli。该命令是后续0.8+版本统一添加的。
回顾您安装时输出的信息:
Successfully installed llmtuner-0.6.3
可观察到安装的是llmtuner,而非后来的llamafactory。因此,当您执行llamafactory-cli时,系统提示“No such file or directory”是正常现象——v0.6.3本身不包含此命令。
二、v0.8.3为何能成功安装并调用llamafactory-cli
自0.8+版本起,项目更名为llamafactory。关键变化在于setup.py中添加了如下配置:
console_scripts = ["llamafactory-cli = llamafactory.cli:main"]
添加该配置后,安装程序会自动生成llamafactory-cli可执行文件。这就是切换到v0.8.3后可直接调用的原因。
三、v0.6.3使用方法(无需llamafactory-cli)
在v0.6.3(即llmtuner)时代,用户通常通过Python直接调用脚本。具体操作如下:
# 先进入源码目录
cd ~/llama-factory
# 训练(等价于后来的 llamafactory-cli train)
python src/train_bash.py examples/train_lora/xxx.yaml
# 聊天
python src/cli_demo.py
操作简洁,功能完全满足需求。
四、当前可选的两种解决方案
第一条:继续用 0.6.3(适配 DTK / triton)
建议彻底忽略llamafactory-cli命令,直接使用上述python src/train_bash.py ...方式运行。原有功能不受任何影响。
第二条:升级到 0.8.3+(有 llamafactory-cli)
升级后即可使用命令行工具,但需注意一个关键前提:请确保您的triton-2.1.0+das1.0版本与0.8.x系列兼容。务必先进行兼容性验证,否则可能遭遇新的依赖问题。
五、核心要点总结
- v0.6.3对应
llmtuner,不含llamafactory-cli命令 - v0.8.3及更高版本对应
llamafactory,包含llamafactory-cli命令 - 该问题并非操作失误,纯属版本演进差异
如果您需要,我可以提供一份v0.6.3环境下常用的启动命令(涵盖训练、聊天、导出),复制后即可直接使用。
