如果你用 Ostris AI Toolkit 训练 LoRA,大概率遇到过这种情况:
- AI Toolkit 的训练 Samples / Previews 看起来很棒;
- 同一份 LoRA 放到 ComfyUI、Diffusers 或其他推理栈里,却 变得不一样。
绝大多数时候,LoRA 并没有“坏”,问题在于你的 推理 pipeline 跟训练预览用的 pipeline 不一致。
很多“看似很小”的差异会快速叠加:基座模型的具体变体、scheduler/steps 语义、VAE/CLIP 默认值、分辨率 snapping(按倍数取整)规则,甚至 LoRA 的应用方式(adapter 还是 merge/fuse,以及不同模型家族的细节差异)。
为了让 AI Toolkit 风格推理更容易 复现、审计和排查,RunComfy 将我们用于 AI Toolkit LoRA 的 参考推理实现 以 Hugging Face Diffusers 为基础开源出来:
GitHub 仓库: runcomfy-com/ai-toolkit-inference
这个开源仓库适合用来做什么
当你想要:
- 在 AI Toolkit 之外 复现训练 Samples/Previews(完全相同的推理逻辑)
- 通过可控/可检查的方式 排查“训练预览 vs 推理”漂移
- 用 Diffusers 打造 自己的推理服务(例如挂在 API 后面)
就可以用这个 repo。
如果你的目标只是“让推理结果跟训练 Samples 一致”,你可能不需要读代码——RunComfy 也提供同样的 preview‑matching 能力:托管推理(Playground/API)和 ComfyUI 工作流都能直接用。
仓库里包含什么
这个项目的设计目标是让 AI Toolkit 的预览行为 可审计、可复现,通常会包含:
- 按基座模型拆分的 Diffusers pipelines(图像、编辑/控制、视频等,取决于模型家族)
- AI Toolkit 训练 YAML → 推理设置(把 YAML 当成“契约”)
- LoRA 加载与应用逻辑(adapter vs merge/fuse;以及模型家族的绑定细节)
- 与 AI Toolkit Samples/Previews 一致的 分辨率 snapping 规则
- 可选的 异步服务示例(如 FastAPI),用于把推理跑在 API 后面
它与 RunComfy Trainer 推理的关系
RunComfy 采用同样的 preview‑matching 思路:
- 锁定 完全一致的基座模型/变体
- 对齐 模型家族的推理默认值
- 保持与训练 Samples/Previews 相同的 pipeline 行为
你可以用两种方式调用这套对齐后的推理:
- Playground / API 推理(快速验证 + 集成)
- ComfyUI 推理(每个基座模型一个工作流,加载 LoRA 即可得到接近训练预览的结果)
相关指南:
Ready to start training?
