第9章 综合案例一:智能 PPT 生成助手
-
目标概述:本章进入更综合的案例——开发一个PPT 生成助手。这个助手能够根据用户提供的大纲或主题,自动生成演示文稿(PowerPoint)的内容,甚至直接输出 PPT 文件。读者将学习如何将 AI 文本生成与现有办公文档库(如 PPTX库)结合,实现跨领域的自动化创作工具。此案例培养读者对多步骤任务的分解与实现能力。
-
提示词结构:生成代码时需要详细描述 PPT 助手的需求:输入形式(例如用户给一个演示主题或提纲)、输出形式(生成 PPT 文件或至少生成各页内容文本),以及制作PPT的技术路线(使用 Python python-pptx 库创建演示文稿)。提示词将指定:创建一个脚本,可从用户获取演示标题和若干章节要点,用 ChatGPT 为每章节生成讲解内容,然后利用 python-pptx 生成一份 PPT 文件。我们要求 AI 产出的代码包括幻灯片标题、内容填充,以及基本的样式(简单美化,例如每页有标题和项目符号列表)。
-
流程图:绘制 PPT 生成助手的工作流程:用户输入主题/提纲 -> 程序调用 LLM 为提纲各部分生成扩充内容 -> 程序调用 PPT 库创建演示文档,将生成内容填入各幻灯片 -> 保存 PPT 文件并提供给用户。流程图标明两个关键AI交互:一是内容生成,二是文档生成,两者结合构成完整应用。
-
可视化代码生成过程:通过 Cursor 演示代码生成:首先生成内容创作部分函数,如 generate_slide_content(topic, outline),内部调用 AI 为每个要点生成丰富讲解。截图展示AI编写此函数的代码,如何组织 Prompt 让模型生成结构化输出(可能需要模型列出每张幻灯片要点)。接着生成 PPT 创建部分函数,如 create_ppt(slides_content) 利用 python-pptx 创建幻灯片并插入文本。截图展示AI生成的操作PPT的代码片段(添加幻灯片、文本框等)。然后整合主程序,将两部分串联。读者可以看到 AI 生成代码跨域(既会调 ChatGPT API 也会用pptx库)是可行的,但过程中如有库名错误或调用不当,我们如何纠正 AI(例如AI可能忘记调用 Presentation.save 方法保存文件,我们通过提示增补)。
-
样例项目代码结构:列出模块:
-
ppt_assistant.py:主要脚本,包含内容生成和PPT构建的逻辑,可以将关键函数拆成 content.py 和 makeppt.py 两模块以清晰分离职责;
-
templates/(可选):存放PPT模板文件(如果想实现更复杂的模板套用,这里简单提及);
-
输出文件示例:output.pptx。
解释各部分作用,以及如需变更幻灯片风格如何调整代码。 -
生成结果截图:展示助手运行后的成果:例如用户输入主题“AI在教育中的应用”及一个简单大纲,程序运行后在工作目录生成了“AI在教育中的应用.pptx”。截图可以展示生成的 PPT 文件中的幻灯片缩略图,看到标题和要点都已填入。也可截图部分日志或终端输出提示文件生成成功的信息。
-
测试点与失败案例:测试生成内容的合理性和文档有效性。打开生成的 PPT 确认内容是否符合输入提纲,各幻灯片未出现乱码或错漏。测试当用户输入提纲过长或过短的情况,AI 能否产出合适长度的内容。失败案例:一开始AI生成的PPT代码可能漏掉添加幻灯片布局,导致文件打不开,我们据此说明如何发现并修复。另一个问题:内容可能过多超出一页,我们可以改进为自动拆成多张幻灯片(这一优化作为思考题留给读者,提示AI也能实现)。
-
术语解释:介绍PPT文件结构、幻灯片、文本框等概念,解释我们使用的python-pptx库简要原理。澄清AI生成内容与实际PPT格式可能存在的差异,例如AI产出的是文本需程序放置到幻灯片中。本案例涉及多模态输出的雏形(文本到图形文档),为后续多模态项目做铺垫。