执行摘要
修复 MultiTurnSFTDataset 中 NumPy 类型导致 Jinja2 模板渲染错误的问题。
PR body 中描述:当从 Parquet 文件读取数据时,pandas DataFrame 的 iloc[item].to_dict() 返回包含 NumPy 类型的值,这些类型在传递到 apply_chat_template() 中的 Jinja2 模板渲染时会导致 ValueError,错误信息为 'The truth value of an array with more than one element is ambiguous',因此需要转换为原生 Python 类型以避免此错误。
对于处理类似数据流水线或 pandas/NumPy 类型转换的工程师,此 PR 值得快速浏览,以了解如何预防 Jinja2 渲染错误。但变更较为简单,核心洞察在于数据源类型处理的重要性,无需深入精读。
Review 中,gemini-code-assist[bot] 建议:为了提高代码一致性,应将 enable_thinking 也从 row_dict 读取,而不是从 self.enable_thinking 列表,类似于 messages 的处理方式。但此建议未被采纳,当前 PR 保持了原有实现,仅进行了类型转换,而未重构数据源逻辑。
参与讨论