结论先说:不是你的问题,是 v0.6.3 这个版本本身就没有把 llamafactory-cli 写到入口脚本里,所以装完也不会生成那个可执行文件。
一、为什么 0.6.3 没有 llamafactory-cli
- LLaMA Factory 在 0.6.x 时期还叫 llmtuner,
pyproject.toml/setup.py里:- 包名:llmtuner
- 控制台入口:没有写
llamafactory-cli(后来 0.8+ 才统一加上)
- 你现在:
说明装的是 llmtuner,不是后来的 llamafactory。Successfully installed llmtuner-0.6.3 - 所以:
完全正常,0.6.3 本来就没有这个命令。bash: llamafactory-cli: No such file or directory
二、为什么 0.8.3 能装上并能调用
- 从 0.8+ 开始:
- 项目改名:llmtuner → llamafactory
setup.py加入:console_scripts = [ "llamafactory-cli = llamafactory.cli:main" ]- 安装后自动生成
llamafactory-cli可执行文件。
- 所以你切到 v0.8.3 就能用
llamafactory-cli。
三、0.6.3 怎么用(不用 llamafactory-cli)
在 0.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。
五、一句话总结
- 0.6.3 = llmtuner → 无 llamafactory-cli
- 0.8.3+ = llamafactory → 有 llamafactory-cli
- 不是你操作错,是版本差异。
要不要我给你一份可直接复制的 0.6.3 常用启动命令(训练/聊天/导出)?