执行摘要
修复 Flux2-Klein 模型提示词标记化长度从 77 改为 512,并添加回归测试。
Issue #21372 报告了 Flux2-Klein 模型使用错误的 max_length=77 进行提示词标记化,而 Hugging Face 参考实现使用 512。这导致长提示被截断,影响生成质量。根因是 Flux2-Klein 继承了 Flux1 的 text_encoder_extra_args 配置。
推荐精读以了解如何修复配置继承导致的 bug。关注 tokenize_prompt 方法中硬编码 max_length 的决策,以及如何通过添加 text_encoder_extra_args 字段避免类似问题,对扩散模型开发有参考价值。
gemini-code-assist[bot] 指出测试文件名拼写错误 'klien' 应为 'klein',作者 adityavaid 迅速修正。mickqian 建议移除 'tok_kwargs.pop("max_length", None)' 行,但 adityavaid 解释该操作是必要的,以防止向 tokenizer 传递多个 max_length 值导致错误。
参与讨论