遇见数据集

manim_animation_dataset

收藏
Hugging Face2026-07-04 更新2026-07-05 收录
官方服务:

资源简介:

Primary Maths Manim Instruction Dataset 是一个合成与模型修复的指令微调数据集,专门用于训练编码模型生成小学数学动画视频的 Manim 社区版 Python 代码。该数据集当前包含 6,023 个聊天格式的示例,覆盖分数、位值、乘法与除法三个核心数学主题。其设计旨在微调如 Qwen2.5-Coder-Instruct 等模型,以生成可执行的 Manim 动画代码、简单的数学故事板、从故事板生成 Manim 代码、修复损坏或薄弱的代码示例、根据 Manim/Python 错误消息修正代码,并改进输出以更好地遵循布局、时长、字体、视觉模型、精确计数和渲染错误等指令要求。数据集以两种格式提供:Qwen 风格的 messages 格式和 ShareGPT/Unsloth 的 conversations 格式。此外,还包含一个独立的 800 示例针对性修复附加集,专注于解决已观察到的模型失败问题,如幻觉的 Manim API、无效对象方法、关键字错误、未定义变量、易碎的 LaTeX 渲染、错误的乘除计数、位值标签错误、动画时长控制以及字体可读性修复等。数据集经过严格验证,包括 JSONL 格式、聊天消息结构、唯一性、Python 语法有效性、代码输出中准确的 Scene 类定义和导入语句,以及通过 Docker 使用 Manim 社区版对部分代码进行渲染测试。该数据集适用于监督微调编码或指令遵循模型,以提升在基于 Manim 的小学数学动画生成任务上的性能,特别适合从自然语言教师提示生成视觉教育内容并修订有缺陷 Manim 输出的场景。局限性在于数据集主要为合成数据,辅以少量真实模型生成修复示例;虽然代码经过语法验证和渲染采样,但某些动画可能仍需人工视觉审查以确保教学适宜性;且数据集专注于小学数学主题,不假定能强泛化到无关学科。

创建时间:
2026-07-02
原始信息汇总

数据集概述

数据集名称:Primary Maths Manim Instruction Dataset
许可证:Apache-2.0
总样本量:6,023 条聊天格式示例

核心内容

该数据集是一个合成与模型修复结合的指令微调数据集,旨在训练编码模型生成Manim Community Edition Python 代码,用于制作小学数学动画视频。覆盖的数学主题包括:

  • 分数(Fractions)
  • 位值(Place Value)
  • 乘法与除法(Multiplication and Division)

适用模型与任务

适用于微调如 Qwen2.5-Coder-Instruct 等模型,使其具备以下能力:

  • 生成可执行的 Manim 动画代码
  • 编写简单的数学分镜(Storyboard)
  • 根据分镜生成 Manim 代码
  • 修复有缺陷的 Manim 代码
  • 根据 Manim/Python 错误信息修正代码
  • 优化输出以更好地遵循布局、时长、字体、视觉模型、精确计数和渲染错误等指令

数据集文件

推荐用于 Unsloth/ShareGPT 训练的文件:

  • primary_maths_manim_sharegpt_final_6023.jsonl
  • primary_maths_manim_qwen_messages_final_6023.jsonl

额外提供的 800 条定向修复数据集:

  • manim_error_repair_dataset_0800.jsonl
  • manim_error_repair_qwen_messages_0800.jsonl
  • manim_error_repair_sharegpt_0800.jsonl
  • manim_error_repair_validation_summary.json

数据格式

Qwen 版本使用 messages 格式:

json { "messages": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ] }

ShareGPT/Unsloth 版本使用 conversations 格式:

json { "conversations": [ {"from": "system", "value": "..."}, {"from": "human", "value": "..."}, {"from": "gpt", "value": "..."} ] }

助手回复内容根据任务不同,可能包含完整的 Manim Python 代码、编号分镜或修正后的 Manim 代码。

数据集构成

总样本分解

  • 基础主题数据集:2,700 条
  • 指令遵循修复数据集:600 条
  • 指令缺口修复数据集:1,000 条
  • 真实生成修复数据集(来自模型失败记录):123 条
  • 结果增强数据集:800 条
  • 定向 Manim 错误修复数据集:800 条

各主题分布

  • 乘法与除法:2,147 条
  • 分数:2,003 条
  • 位值:1,873 条

各年级分布

  • Primary 2:973 条
  • Primary 3:1,261 条
  • Primary 4:1,182 条
  • Primary 5:1,322 条
  • Primary 6:1,285 条

基础主题任务分布

  • topic_to_manim_code:1,080 条
  • topic_to_storyboard:405 条
  • storyboard_to_manim_code:540 条
  • bad_code_to_fixed_code:405 条
  • error_message_to_fixed_code:270 条

定向修复数据集(800 条)

聚焦于以下模型常见错误:

  • 幻觉 Manim API(如 DropInEffect, DrawChars, arrange_clockwise
  • 无效对象方法(如 Sector.add_to_edge, pairs.rect
  • SurroundingRectangle 关键字错误
  • 未定义变量(如 i, answer_label
  • 渲染失败的脆弱 LaTeX
  • 错误的乘法数组计数
  • 错误的分组除法
  • 小数位值标签错误
  • 动画时长控制问题(动画压缩至约一秒)
  • 字体/可读性修复(需保留原始场景结构)

任务分布

  • error_message_to_fixed_code:370 条
  • bad_code_to_fixed_code:370 条
  • topic_to_manim_code:40 条
  • storyboard_to_manim_code:20 条

技能分布

  • replace_hallucinated_manim_api:160 条
  • repair_wrong_visual_math:160 条
  • respect_requested_duration:120 条
  • fix_runtime_error:110 条
  • fix_keyword_or_type_error:100 条
  • minimal_font_readability_edit:90 条
  • safe_manim_api_generation:40 条
  • storyboard_to_safe_code:20 条

验证情况

全局验证

  • 有效的 JSONL 格式
  • 正确的聊天消息结构
  • 生成修复块中唯一的聊天提示和输出
  • 代码输出中包含 from manim import *
  • 代码输出中仅包含一个 Scene
  • 无外部资源依赖
  • Python 语法正确性
  • 时长修复示例中包含显式的时间模式
  • 定向修复输出中无虚假 Manim API 令牌

基础 2,295 条 Manim 代码输出:使用 Manim Community Edition 在 Docker 中成功渲染。

800 条定向修复数据集静态验证

  • 800 条有效行、800 个唯一 ID
  • 0 重复聊天提示、0 重复输出
  • 所有修正代码输出可解析为 Python
  • 所有修正代码输出定义且仅定义一个 Scene
  • 所有修正代码输出以 from manim import * 开头
  • 所有修正代码输出包含显式 run_time 设置
  • 无外部资源依赖、无已知虚假 API 令牌

Docker 渲染采样验证

  • 测试 24 条,通过 24 条,失败 0 条
  • Docker 镜像:manimcommunity/manim:stable

预期用途

该数据集适用于编码或指令跟随模型的监督微调,旨在提升模型生成小学数学 Manim 动画的能力。尤其适合需要从自然语言教师提示生成视觉教育内容并修正有缺陷 Manim 输出的模型。推荐训练场景包括:

  • 微调 Qwen2.5-Coder-Instruct 风格模型
  • 训练 Manim 代码生成行为
  • 提升视觉约束下的指令跟随能力
  • 教授模型基于 Manim 渲染错误进行修复
  • 改进数组、分组、分数、位值图表等精确对象计数
  • 减少幻觉的 Manim API
  • 从生成输出中收集未来偏好数据

局限性

  • 数据集主要为合成数据,仅含少量真实模型生成修复示例
  • 代码经验证语法并通过采样渲染,但部分动画可能仍需人类审查视觉质量与教学适用性
  • 数据集专注于小学阶段的分数、位值、乘法与除法,未经额外训练数据的情况下,不应假设其能强泛化至不相关主题
搜集汇总
数据集介绍
manim_animation_dataset 数据集图片
构建方式
该数据集的构建融合了合成数据生成与模型修复两种策略。首先,基于小学数学核心主题(分数、位值、乘除法)自动生成基础示例,涵盖从文本描述到Manim代码、从故事板到代码转换等多种任务形式。随后,通过真实模型推理中出现的失败案例,收集错误类型(如虚假API、运行错误、数学视觉错误),并构建针对性的修复数据集。最终,所有代码输出经过语法校验与部分Docker渲染测试,确保可执行性,形成包含6023条对话格式样本的完整集合。
特点
该数据集聚焦于小学数学动画的Manim代码生成,覆盖三至六年级的分数、位值与乘除法主题,各年级分布均衡。数据包含多种任务类型:从主题直接生成代码、从故事板转换代码、修复错误代码与错误信息。特别地,数据集针对模型常见失败模式进行了专项修复,如处理虚假API(如DropInEffect)、修正错误数学表达(错误分组计数、小数位值错误)以及精确控制动画时长与布局,显著提升模型在视觉约束下的生成质量。
使用方法
该数据集适用于监督微调编码或指令跟随模型,特别是Qwen2.5-Coder-Instruct系列。数据以ShareGPT或Qwen的messages格式提供,可直接用于Unsloth等训练框架。使用者应加载JSONL文件,将系统、用户与助手对话对作为训练样本。推荐场景包括训练模型根据教师自然语言描述生成可执行Manim动画代码、修复渲染错误、改进动画布局与时长控制,以及减少虚假API的生成。适用于需要生成小学数学视觉教学内容的场景。
背景与挑战
背景概述
该数据集名为manim_animation_dataset,是一个面向小学数学动画视频生成的大规模指令微调数据集,创建于近期,由研究人员针对Manim Community Edition Python代码自动生成任务而构建。核心研究问题聚焦于如何使编码模型能够根据自然语言教学提示生成可执行的数学动画代码,并具备从错误信息中修复代码的能力。数据集涵盖分数、位值、乘法与除法等小学数学核心主题,精心设计了6,023个对话格式样本,并经过严格的语法验证与渲染测试。该数据集的发布为教育动画自动生成、代码修复以及指令跟随学习等研究方向提供了重要支持,有望推动视觉教育内容生成技术的进步。
当前挑战
该数据集主要解决两大挑战:领域问题方面,如何使编程模型准确理解小学数学概念并将其转化为符合教学规范的动画代码,避免出现幻觉API、错误数学视觉表示以及混淆对象计数等问题;构建过程方面,面临的挑战包括从真实的模型生成失败日志中收集并标注修复样本,确保修复代码在语法有效的同时保持场景结构完整性,以及处理易碎的LaTeX渲染、动画时长控制、字体可读性等精细约束。此外,合成数据与真实修复样本的有机融合、多主题间知识迁移的有效性也是重要难题。
常用场景
经典使用场景
manim_animation_dataset 专为训练编码模型生成小学数学教学动画的 Manim 社区版 Python 代码而设计。该数据集包含 6,023 个聊天格式示例,覆盖分数、位值、乘法和除法三大主题,适用于微调 Qwen2.5-Coder-Instruct 等模型。其经典使用场景包括从自然语言描述生成可执行的 Manim 动画代码、将教学主题转化为分镜头脚本、从脚本生成动画代码、修正有缺陷的代码以及根据渲染错误信息修复代码。这一数据集为自动化小学数学动画生成提供了系统化的训练基础。
解决学术问题
该数据集解决了代码生成模型在视觉教育内容生成中的多项核心问题。首先,通过包含大量错误修复示例,它有效应对了模型生成 Manim 代码时常见的 API 幻觉、语法错误、运行时崩溃等问题。其次,数据集提供了对视觉约束(如布局、时长、字体)的精确遵循训练,减少了生成动画偏离教学需求的现象。此外,针对小学数学中分数、位值等抽象概念的视觉呈现,数据集提高了代码模型对精确对象计数和数学逻辑的把握能力,推动了教育领域代码生成模型在可靠性与实用性上的进步。
衍生相关工作
该数据集的发布催生了多个相关研究方向与工作。其一,以它为基础训练的模型可用于构建端到端的教学动画生成管线,结合语音合成与交互设计形成完整的教学视频制作工具。其二,该数据集中的错误修复示例为代码修复领域提供了宝贵的细粒度标注数据,推动了 Manim 代码自动调试与优化工具的发展。此外,一些研究探索了如何将该数据集与其他教育领域数据结合,扩展至中学数学或物理学科的动画生成。最后,基于该数据集的强化学习偏好数据采集方法也为提升生成动画的教学质量提供了新思路。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务