2.0 KiB
推理
v1 已实现基于 Hugging Face 后端的 chat 入口,可以在命令行中进行流式对话。模型对话格式来自 tokenizer 自带的 Hugging Face chat template;没有模板时回退到内置 ChatML。
当前 chat 入口支持 sample_backend: hf 的交互式单条推理。批量推理和 vllm 采样后端尚未接入该入口;交互式配置中不设置 train_dataset。
启动 CLI 对话
model 指定模型 Hub ID 或包含完整权重的 HF 模型目录。LoRA adapter 的加载方式见下文。
以下对话配置保存为 chat.yaml,使用与 SFT 示例相同的基座:
model: Qwen/Qwen3-0.6B
sample_backend: hf
max_new_tokens: 512
llamafactory-cli chat chat.yaml
覆盖模型 Chat Template
custom_chat_template 接收一段 Jinja2 模板字符串,并覆盖 tokenizer 自带模板:
model: path/to/model
custom_chat_template: >-
{% for message in messages %}
{{ message['role'] + ': ' + message['content'] }}
{% endfor %}
v1 使用模板字符串,不接受 template: <name> 字段。
使用 LoRA Adapter
LoRA 推理通过 model 指定训练时的基座,通过 peft_config.adapter_name_or_path 指定 adapter。以下片段加入 chat.yaml,加载 SFT 的 LoRA 示例产生的 outputs/qwen3_lora;对应基座为 Qwen/Qwen3-0.6B:
peft_config:
name: lora
adapter_name_or_path: outputs/qwen3_lora
推理模式会依次合并 adapter_name_or_path 中的 adapter。模型导出说明合并结果的持久化保存。
使用训练或合并后的模型
完成 SFT 全参示例后,将 chat.yaml 中的 model 改为 outputs/qwen3_full;完成模型导出示例后,改为 outputs/qwen3_merged。这两种目录都包含完整模型权重,加载时移除此前的 peft_config,保留采样参数并运行 llamafactory-cli chat chat.yaml。
完整字段见推理参数。