python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtLinux/macOS:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt只生成 Manim 场景脚本:
python generate.py examples/question.json --prompt "用动画讲清楚为什么异分母分数相加要先通分"生成并渲染 MP4:
python generate.py examples/question.json --prompt "用动画讲清楚为什么异分母分数相加要先通分" --render默认输出:
build/generated_scene.pybuild/media/.../GeneratedTeachingScene.mp4
最小字段:
{
"subject": "数学",
"question": "计算:3/4 + 1/2",
"answer": "5/4",
"analysis": "先把 1/2 通分成 2/4,再计算 3/4 + 2/4 = 5/4。"
}推荐字段:
{
"instruction": "用动画讲清楚为什么异分母分数相加要先通分",
"subject": "数学",
"title": "异分母分数加法",
"knowledge_points": ["通分", "分数加法"],
"question": "计算:3/4 + 1/2",
"student_answer": "4/6",
"answer": "5/4",
"analysis": "分母不同不能直接加。先把 1/2 变成 2/4,再把同分母分数相加。",
"steps": [
{
"title": "看清分母",
"formula": "3/4 + 1/2",
"explain": "4 和 2 是不同分母,不能直接把分子、分母分别相加。"
},
{
"title": "把 1/2 通分",
"formula": "1/2 = 2/4",
"explain": "把二分之一看成四分之二,两个分数就有了共同分母。"
},
{
"title": "同分母相加",
"formula": "3/4 + 2/4 = 5/4",
"explain": "分母相同后,只加分子,分母保持 4。"
}
],
"tip": "遇到异分母分数加减法,第一步先找共同分母。"
}兼容字段别名:content、stem、correct_answer、solution、explanation、knowledge。
python generate.py QUESTION_JSON [--prompt "一句话讲解意图"] [--out build] [--render] [--quality ql]QUESTION_JSON:题目 JSON 文件路径。--prompt:一句话讲解意图;不传则读取 JSON 中的instruction。--out:输出目录,默认build。--render:调用manim渲染。--quality:Manim 渲染质量,默认ql。
- 生成的场景只使用
Text、Rectangle、Arrow、Dot、VGroup等 Manim 基础对象。 - 不使用
MathTex/Tex,避免服务器缺少 LaTeX 时渲染失败。 - 中文文本默认使用
Noto Sans CJK SC字体。 - 一个动画按 4 个阶段组织:读题、错因/关键点、逐步讲解、答案总结。