执行摘要
修复 LoRA 模型合并器中字符串 task_type 导致的 AttributeError。
修复 verl.model_merger 中的兼容性问题:当 LoRA 元数据(如 lora_train_meta.json)中存储 task_type 为纯字符串时(例如 "CAUSAL_LM"),save_lora_adapter() 直接访问 .value 属性会导致 AttributeError: 'str' object has no attribute 'value',中断模型合并过程。
该 PR 值得精读,因为它展示了在兼容性修复中如何处理类型检查和错误处理,尤其关注 review 反馈对 falsy 值行为的讨论,这对于类似场景的设计决策有参考价值。
review 中,gemini-code-assist[bot] 指出初始修复可能改变 falsy 值(如空字符串)的行为,从转换为 None 改为保留原值,可能引发下游兼容性问题。该 bot 建议使用更简洁的表达式处理所有情况。作者 FrankHo-Hwc 回应并在后续提交中更新代码,以同时处理字符串元数据和保持 falsy 值转换为 None 的原始行为。
参与讨论