最近在折腾 AI 生成 PPT 这件事,踩了不少坑。市面上的在线工具虽然方便,但要么需要联网、要么有额度限制、要么风格模板千篇一律,真正想做到“可控”和“可私有化”,还是得走本地部署这条路。这篇文章我基于本地 Qwen3.8-27B 大模型 + WorkBuddy 的组合,完整复盘一套 AI 生成 PPT 的流程,包含环境搭建、模型加载、WorkBuddy 配置、Skill 编写,以及最终生成 PPT 的完整实操。无论你是想给实验室做汇报、给课程做课件,还是给部门做培训材料,这套方案都能直接落地复用。
1. 背景与核心概念
1.1 为什么需要本地 AI 生成 PPT
先聊聊背景。过去做 PPT 的常规流程是:先搭框架、找模板、填充内容、调样式,一套下来少说两三个小时。如果内容涉及专业领域,还得反复查资料、校对数据。AI 生成 PPT 的价值在于,把“搭框架、写初稿、排版”这些重复劳动交给模型完成,人只需要做审核和微调。
但市面上大多数 AI PPT 工具都依赖云端 API,这里有几个绕不开的问题:
- 隐私问题:企业内部的经营数据、实验室的未公开成果、学校的教学材料,直接传到云端并不安全。
- 成本问题:高频使用下 API 费用会持续累积,尤其是长文本生成场景。
- 可控性:云端模型的版本、参数、行为不可控,你无法针对 PPT 场景做定制。
本地大模型 + AI Agent 的组合正好补上这些短板。模型跑在自己机器上,数据不出内网,行为完全可调,一次部署长期使用,没有按 token 计费的压力。
1.2 Qwen3.8-27B 是什么
Qwen3.8-27B 是通义千问系列中的一个本地化大模型版本,参数量 27B。与更小的 7B、14B 模型相比,27B 在指令跟随、结构化输出、多步推理上的表现明显更强。PPT 生成恰恰需要模型具备两种能力:
- 结构规划能力:把零散的资料整理成有逻辑的章节和要点。
- 格式化输出能力:严格按约定格式输出 Markdown 或 JSON,方便下游工具解析。
在 Ollama 这类推理框架的加持下,Qwen3.8-27B 可以运行在消费级显卡上,适合个人开发者和中小团队使用。如果你的显存有限,也可以用 7B 或 14B 版本做降级替代,后面我会详细说。
1.3 WorkBuddy 是什么
WorkBuddy 本质上是一个 AI Agent 助手,它和普通聊天机器人的区别在于:它不只是“聊天”,而是可以调用工具、执行动作、操作文件、调度本地资源。你可以把 WorkBuddy 理解成一个“中间调度层”:
- 上层:接收你的自然语言指令。
- 中间层:调用本地大模型理解意图、规划步骤。
- 下层:通过 Skill(技能)、Python 脚本、API 接口执行具体动作,比如生成 PPT 文件。
在这个架构里,Qwen3.8-27B 是“大脑”,负责理解和生成内容;WorkBuddy 是“双手”,负责把模型输出的内容变成实际的 .pptx 文件;而 PPT 最终的样式呈现,则由 WorkBuddy 的 Skill 和 python-pptx 库协作完成。
1.4 本地部署的核心优势
综合来看,这套方案的核心优势可以总结为三点:
- 数据安全:所有文本处理和内容生成都在本地完成,不需要上传到云端。
- 流程可控:从模型参数到 Prompt 模板,再到 PPT 的配色、字体、版式,全部自己掌控。
- 可持续优化:同一个模型可以服务于多个场景,只要扩展 Skill 库,就能从生成 PPT 扩展到生成 Word、Excel、数据分析报告等。
2. 环境准备与版本说明
2.1 硬件要求
Qwen3.8-27B 是 27B 参数级别模型,量化版本对硬件有一定要求,但并非高不可攀。下面是我实测的环境参考:
| 配置项 | 推荐配置 | 说明 |
|---|---|---|
| CPU | 8 核以上 | 负责数据预处理和框架调度 |
| 内存 | 32GB 以上 | 运行 27B 量化模型建议至少 32GB |
| 显卡 | NVIDIA RTX 4090 24GB | 可流畅运行 4-bit 量化版本 |
| 显卡(降级) | RTX 3090 / 4080 16GB | 使用更低位宽量化或 14B 模型 |
| 硬盘 | 50GB 剩余空间 | 模型文件较大 |
如果你没有大显存显卡,也不是完全不能跑。Ollama 支持 CPU 推理模式,速度会慢一些,但生成 PPT 这种非实时场景可以接受。另外也可以用 7B 或 14B 模型替代,文章后面会说明如何切换。
2.2 软件环境
本文示例以常见环境为例,重点演示配置思路。你的实际版本可以按项目情况调整。
- 操作系统:Windows 11 / Ubuntu 22.04
- 推理框架:Ollama(用于管理本地大模型运行)
- 模型:Qwen3.8-27B 量化版本
- AI Agent:WorkBuddy 桌面版或命令行版
- Python 环境:Python 3.10+(用于运行 WorkBuddy 相关脚本)
- PPT 生成库:python-pptx
2.3 安装 Ollama
Ollama 是目前最流行的本地大模型运行工具之一,它封装了模型下载、量化、推理、API 服务等复杂流程,安装后就能通过命令直接拉取模型。
# macOS 或 Linux curl -fsSL https://ollama.com/install.sh | sh # Windows # 直接下载 Ollama Windows 安装包,安装完成后在终端验证 ollama --version安装完成后,先确认服务能正常启动:
ollama serve正常情况下终端会输出类似Listening on 127.0.0.1:11434的信息。Ollama 默认 API 地址是http://localhost:11434,后续 WorkBuddy 需要连接这个地址。
2.4 安装 WorkBuddy
WorkBuddy 的安装方式取决于你使用的是桌面版还是命令行版。以命令行版为例:
# 示例命令,具体安装方式以你下载的版本为准 pip install workbuddy如果 WorkBuddy 提供的是桌面客户端,直接解压运行即可。安装完成后,我们需要验证 WorkBuddy 是否能正常启动:
workbuddy --help如果提示命令不存在,检查 Python Scripts 目录是否加入了 PATH 环境变量。
2.5 验证环境连通性
装好 Ollama 和 WorkBuddy 后,先做一次基础连通性测试:
import requests # 请求 Ollama 的 API,检查模型服务状态 response = requests.get("http://localhost:11434/api/tags") print(response.json())如果返回了模型列表(即便是空的),说明 Ollama 服务正常。这里不需要引入第三方库,直接用 Python 标准库里的urllib或requests都行。
3. 核心原理拆解
3.1 AI 生成 PPT 的整体链路
在动手配置之前,先理清 AI 生成 PPT 的技术链路。整条链路分为四个环节:
- 指令解析:用户输入“帮我做一份关于 YOLO 算法讲解的 PPT”,WorkBuddy 识别意图和主题。
- 内容生成:WorkBuddy 将指令交给 Qwen3.8-27B,模型按照预设的 Prompt 模板生成 PPT 大纲和每页内容。
- 格式转换:模型输出的内容从 Markdown 或 JSON 解析成结构化的页面数据。
- 渲染文件:python-pptx 根据页面数据创建 .pptx 文件,并应用模板样式。
这四步中,最核心也最容易出错的是第 2 步到第 3 步的衔接。模型输出的内容如果不规范,下游解析就会失败。这也是为什么本地大模型 + Agent 的组合需要精心设计 Prompt 和 Skill。
3.2 WorkBuddy 的 Skill 机制
WorkBuddy 的 Skill 可以理解为一个“技能插件”。每个 Skill 包含:
- 一个描述文件:说明这个技能是干什么的、什么时候被调用。
- 一个模板文件:定义大模型输出的格式。
- 一个执行脚本:负责把模型输出转换成最终的文件。
例如,我们可以创建一个ppt_skill技能,它的职责是“根据用户输入的主题,生成 PPT 大纲和逐页内容”。当 WorkBuddy 检测到用户指令中包含“生成 PPT”“做课件”“做幻灯片”等关键词时,就会自动调用这个 Skill。
Skill 机制的核心价值在于解耦。模型不需要知道如何操作 powerpoint 文件,它只需要按照模板输出文本;执行脚本不需要理解语义,它只需要把结构化的文本转换成 .pptx。这种设计让整套系统非常容易扩展。
3.3 python-pptx 在链路中的作用
python-pptx 是一个用于创建和修改 PowerPoint 文件的 Python 库。它不是 AI 组件,但在整个链路中承担“最后一公里”的渲染工作。
举个最简单的例子:
from pptx import Presentation from pptx.util import Inches # 创建演示文稿 prs = Presentation() # 添加一页标题版式的幻灯片 slide_layout = prs.slide_layouts[0] slide = prs.slides.add_slide(slide_layout) slide.shapes.title.text = "AI 生成 PPT 实战" # 保存 prs.save("demo.pptx")在 WorkBuddy 的 Skill 中,python-pptx 做的事情比这个复杂得多:要处理多级标题、要生成要点列表、要插入图片和图表、要统一设置字体和配色。但如果模型输出的结构足够清晰,脚本的逻辑就会非常稳定。
3.4 为什么选择本地模型而不是云端 API
这个问题在选型时一定会遇到。我的建议是分场景:
- 如果只是个人偶尔用一次,云端 API 确实省事。
- 如果涉及团队协作、企业数据、批量生成,本地部署是更稳妥的选择。
本地模型还有一个隐藏优势:Prompt 模板可以做到“千人千面”。云端模型所有人都共用一套系统提示词,行为通用但不出彩;本地模型可以针对 PPT 场景做定制,比如强制要求模型遵循“每页不超过 5 个要点”“每个要点不超过 20 个字”这类约束。
4. 完整实战:本地 Qwen3.8-27B + WorkBuddy 生成 PPT
4.1 创建项目结构
我们先规划好目录结构,让整个流程清晰可维护。
workbuddy-ppt-demo/ ├── models/ # 存放模型配置 ├── skills/ # 存放 WorkBuddy 技能 │ └── ppt_skill/ │ ├── SKILL.md # 技能描述 │ ├── prompt.md # 模型输出模板 │ └── generate_ppt.py # 生成脚本 ├── output/ # 生成的 PPT 文件 ├── data/ # 输入的参考资料 └── config.yaml # WorkBuddy 全局配置4.2 拉取并配置本地模型
打开终端,使用 Ollama 拉取 Qwen3.8-27B 模型:
# 拉取模型(首次下载量较大,耐心等待) ollama pull qwen3:27b # 查看本地已有模型 ollama list拉取完成后,测试模型是否可以正常对话:
ollama run qwen3:27b "用一句话介绍你自己"如果显存不够,Ollama 会自动切换到 CPU 推理模式,速度会慢一些。此时可以尝试降低模型负载:
# 查看模型运行时的参数 ollama ps如果需要调整模型,可以在/etc/systemd/system/ollama.service(Linux)中设置环境变量来控制上下文长度,例如:
[Service] Environment="OLLAMA_CONTEXT_LENGTH=8192"Windows 用户可以通过设置系统环境变量OLLAMA_CONTEXT_LENGTH=8192来达到同样效果。
4.3 配置 WorkBuddy 连接本地 Ollama
WorkBuddy 本身不内置大模型,它需要一个后端推理服务。我们修改config.yaml,把模型提供方指向本地的 Ollama:
# config.yaml model_provider: ollama ollama: base_url: http://localhost:11434 model: qwen3:27b temperature: 0.7 max_tokens: 4096 workbuddy: skills_dir: ./skills output_dir: ./output这里的temperature: 0.7是生成随机性参数。做 PPT 内容生成时,0.7 是一个平衡值:太高容易跑题,太低则内容过于机械。
4.4 编写 PPT Skill
接下来是核心部分:编写 PPT Skill。
第一步,在skills/ppt_skill/SKILL.md中定义技能的触发条件和行为:
# PPT Skill 该技能用于根据用户提供的主题和资料,生成 PowerPoint 演示文稿。 ## 触发条件 当用户指令中包含以下关键词时,自动调用本技能: - 生成 PPT - 做课件 - 做幻灯片 - 制作汇报 - 演示文稿 ## 输出要求 - 生成结构化的 Markdown 文本 - 文本必须遵循 prompt.md 中定义的格式 - 内容必须与用户提供的主题高度相关第二步,在skills/ppt_skill/prompt.md中定义模型输出的格式:
你是一名资深的 PPT 内容策划专家。请根据用户给定的主题和资料,生成 PPT 内容。 输出格式要求如下: # 幻灯片标题 ## 第 1 页 | 封面 - 主标题:XXX - 副标题:XXX - 演讲人:XXX ## 第 2 页 | 目录 - 01 章节标题 - 02 章节标题 - 03 章节标题 ## 第 3 页 | 过渡页 - 章节标题:XXX ## 第 4 页 | 内容页 - 标题:XXX - 要点 1:XXX - 要点 2:XXX - 补充说明:XXX ...这个模板的意义在于约束模型的输出结构。只要模型严格按照“页码 + 页面类型 + 内容字段”的方式输出,后面的解析脚本就能稳定运行。
第三步,编写生成脚本generate_ppt.py。这个脚本是整条链路的执行核心,它做三件事:
- 读取模型输出的 Markdown 文件。
- 解析出每页的标题、类型和内容。
- 调用 python-pptx 渲染成 .pptx 文件。
# 文件路径:skills/ppt_skill/generate_ppt.py import re from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN def parse_markdown(md_text: str): """ 解析模型输出的 Markdown 文本,提取页面结构化数据。 返回的 pages 是一个列表,每个元素是包含页码、类型、标题、内容的字典。 """ pages = [] current_page = None for line in md_text.splitlines(): line = line.strip() if not line: continue # 匹配形如 "## 第 1 页 | 封面" 的页面标记 page_match = re.match(r"## 第 (\d+) 页 \| (.+)", line) if page_match: if current_page: pages.append(current_page) current_page = { "number": int(page_match.group(1)), "type": page_match.group(2).strip(), "title": "", "content": [], } continue # 匹配形如 "- 主标题:XXX" 的字段 field_match = re.match(r"- (\S+):(.+)", line) if field_match and current_page is not None: field_key = field_match.group(1) field_value = field_match.group(2) if field_key in ("主标题", "标题"): current_page["title"] = field_value elif field_key == "副标题": current_page["subtitle"] = field_value else: current_page["content"].append(f"{field_key}:{field_value}") continue # 匹配形如 "- 要点 1:XXX" 的内容 if line.startswith("- ") and current_page is not None: current_page["content"].append(line[2:]) if current_page: pages.append(current_page) return pages def create_ppt(pages, output_path: str): """ 根据解析后的页面数据创建 PPT 文件。 """ prs = Presentation() # 使用默认模板样式 for page in pages: page_type = page.get("type", "内容页") if page_type == "封面": slide_layout = prs.slide_layouts[0] # 标题幻灯片 slide = prs.slides.add_slide(slide_layout) slide.shapes.title.text = page.get("title", "未命名标题") if page.get("subtitle"): slide.placeholders[1].text = page["subtitle"] elif page_type == "目录": slide_layout = prs.slide_layouts[1] # 标题和内容 slide = prs.slides.add_slide(slide_layout) slide.shapes.title.text = "目录" content_text = "\n".join(page.get("content", [])) slide.placeholders[1].text = content_text elif page_type == "过渡页": slide_layout = prs.slide_layouts[1] slide = prs.slides.add_slide(slide_layout) slide.shapes.title.text = page.get("title", "章节") else: # 默认内容页 slide_layout = prs.slide_layouts[1] slide = prs.slides.add_slide(slide_layout) slide.shapes.title.text = page.get("title", "内容") content_text = "\n".join(page.get("content", [])) slide.placeholders[1].text = content_text prs.save(output_path) print(f"PPT 已生成:{output_path}") if __name__ == "__main__": # 读取模型输出(示例:直接从文本文件读取) # 实际使用时,WorkBuddy 会将模型输出传给此脚本 md_path = "model_output.md" with open(md_path, "r", encoding="utf-8") as f: md_content = f.read() pages = parse_markdown(md_content) create_ppt(pages, "output/generated_ppt.pptx")这个脚本保留了最基本的渲染能力,实际项目中你可以增加自定义配色、背景图、字体等样式。
4.5 配置 WorkBuddy 调用 Skill
我们需要告诉 WorkBuddy,当用户指令触发 PPT 关键词时,应该调用ppt_skill并运行generate_ppt.py。
在config.yaml中补充:
skills: - name: ppt_skill trigger_keywords: ["生成 PPT", "做课件", "做幻灯片", "演示文稿"] description: "根据主题生成演示文稿" script: skills/ppt_skill/generate_ppt.pyWorkBuddy 在运行时,会把用户指令和prompt.md模板拼接后发送给 Qwen3.8-27B,拿到模型输出后调用generate_ppt.py,最后把生成的 PPT 文件返回给用户。
4.6 运行与验证
现在我们来做一个完整的测试。假设需求是“生成一份关于 YOLO 算法讲解的 PPT”。
启动 WorkBuddy:
workbuddy --config config.yaml在 WorkBuddy 交互界面输入:
帮我生成一份关于 YOLO 算法讲解的 PPT,目标听众是刚入门的目标检测学习者,要求包含算法原理、网络结构和应用场景。WorkBuddy 的完整执行过程拆解如下:
- 识别到“生成 PPT”关键词,触发
ppt_skill。 - 将用户指令和
prompt.md模板合并,发给 Qwen3.8-27B。 - Qwen3.8-27B 生成结构化的 Markdown 内容。
- WorkBuddy 将 Markdown 内容暂存为临时文件。
- 调用
generate_ppt.py解析并渲染 PPT。 - 将生成结果返回用户。
成功后,在output/目录下会生成generated_ppt.pptx。
4.7 结果说明
以上流程生成的是一个“能用的 PPT”,但还不是“好看的 PPT”。第一次跑通后,重点应该放在两件事上:
- 检查内容的逻辑结构是否清晰,有没有漏页、错页。
- 检查模型是否严格按照模板输出,有没有出现“自由发挥”的格式。
如果输出不符合预期,可以回到prompt.md中增加约束,比如“不要输出 Markdown 代码块”“不要使用列表之外的其他符号”等。经过两三轮调优后,生成质量会稳定很多。
5. 常见问题与排查思路
5.1 模型加载慢或内存不足
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
运行ollama run时长时间卡住 | 首次运行需要将模型加载到内存 | 等待即可,后续运行会更快 |
| 系统提示显存不足 | 模型参数量超过显卡显存 | 切换到更小的量化版本或 14B/7B 模型 |
| 生成速度极慢 | 正在使用 CPU 推理 | 关闭其他占用内存的软件,或降低上下文长度 |
| 模型加载后直接退出 | 内存不足导致进程被杀 | 扩大 swap 空间,或使用量化版本 |
如果你的显卡只有 8GB 显存,建议用ollama pull qwen3:7b替代 27B。PPT 生成对模型的深度推理要求不算极端,7B 模型配合好的 Prompt 也能产出可用结果。
5.2 WorkBuddy 连接 Ollama 失败
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
提示Connection refused | Ollama 服务未启动 | 先运行ollama serve |
提示model not found | config.yaml中模型名称写错 | 运行ollama list核对名称 |
| 请求超时 | 上下文长度设置过大 | 降低OLLAMA_CONTEXT_LENGTH |
| 端口冲突 | 11434 端口被占用 | 修改 Ollama 端口,或在 WorkBuddy 配置中同步修改 |
5.3 模型输出不符合模板
这是最常见的问题。模型没有严格按照prompt.md的格式输出,导致解析脚本报错或生成空白页。
推荐排查顺序:
- 先在终端直接向 Ollama 发送同样的指令,看模型原始输出长什么样。
- 把输出内容和模板逐行对比,找出差异。
- 在
prompt.md中增加“必须”“禁止”等强约束词。 - 在解析脚本中增加容错处理,对缺失字段做兜底。
一个实用的兜底方案是:解析时对未知字段不做强制要求,而是给默认值。
# 在 parse_markdown 中设置默认值 current_page.setdefault("title", "未命名标题") current_page.setdefault("content", [])5.4 生成的 PPT 样式简陋
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 所有页面样式一样 | 使用默认布局 | 自定义slide_layout,或制作专属模板 |
| 文字超出幻灯片边界 | 内容过长 | 在模板中限制要点数量,生成时截断超长文本 |
| 中文字体显示异常 | python-pptx 默认字体不支持中文 | 在脚本中为文本框设置中文字体 |
| 生成的 PPT 打开报错 | 文件损坏或版本不兼容 | 检查输出路径,用 PowerPoint 打开验证 |
如果你的团队有固定的 PPT 模板(含 logo、配色),可以先用 python-pptx 打开模板文件,再往里面填充内容,而不是从空白文稿开始:
prs = Presentation("company_template.pptx")这样做的好处是品牌样式完全保留,AI 只负责内容和结构。
6. 最佳实践与工程建议
6.1 模型选择策略
本地部署大模型时,不要把“参数越大越好”当作唯一标准。做 PPT 生成这类任务时,有几个关键指标:
- 指令跟随能力:是否能严格按照模板输出。
- 中文能力:对中文语境的理解是否准确。
- 推理速度:生成一篇 20 页 PPT 大纲,需要等待多久。
按经验,团队内部使用、对速度有要求的,选择 7B~14B 量化模型;对内容质量和深度有更高要求的,选择 27B 或更大模型。建议做一个简单的基线测试:用同一批 Prompt 分别跑几个模型,对比生成质量和耗时,再决定生产环境用哪个。
6.2 Prompt 模板迭代方法
Prompt 模板是 AI 生成 PPT 质量的核心。初次写完模板后,不要指望一次到位,建议按以下节奏迭代:
- 准备 5 个测试主题,覆盖不同类型(教程类、汇报类、方案类)。
- 跑一遍生成流程,记录模型输出中的格式错误。
- 修正模板,每次只改一个约束项。
- 重复直到稳定通过。
在prompt.md中比较有效的约束表述包括:
- “严格按以下格式输出,不要输出任何解释性文字。”
- “禁止使用 Markdown 代码块包裹内容。”
- “每页内容不超过 6 行。”
6.3 输出内容的安全与合规检查
AI 生成内容天然存在“一本正经地胡说八道”的问题。对于 PPT 这种要拿去汇报、教学的场景,必须增加一道人工审核。
建议在 WorkBuddy 的 Skill 执行链路中加入一个“二次校验”步骤:
- 用规则检查敏感词或禁用词。
- 对涉及数据的内容,要求用户确认数据来源。
- 对页码、结构进行完整性检查。
如果是在企业内部使用,还可以在生成脚本中增加审核状态字段,未审核的 PPT 不允许导出。
6.4 工程化落地建议
从个人工具走向团队工具时,有几个工程化问题需要提前考虑:
- 配置管理:模型名称、API 地址、输出目录等不能写死在代码中,用
config.yaml统一管理。 - 日志记录:每次生成记录模型输出摘要、耗时、是否成功,便于排查问题。
- 模板库建设:沉淀一套组织内部认可的 PPT 模板,按场景分类(汇报、教学、方案、周报)。
- 性能优化:对于高频场景,预先加载模型,避免每次生成都重新加载权重。
6.5 安全注意
本地部署本质上是为了安全,但“本地”不等于“绝对安全”。要注意以下几点:
- 模型文件本身可能包含训练数据中的敏感信息,不要将内部数据直接放入模型训练或微调。
- 生成的 PPT 若包含真实的业务数据,注意在分享前脱敏。
- 访问 Ollama API 时,如果服务对局域网开放,务必设置访问控制,避免被未授权调用。
Ollama 默认只监听127.0.0.1,如果需要让局域网内其他机器访问,可以通过环境变量OLLAMA_HOST=0.0.0.0开启监听,但这时一定要配合防火墙或认证机制。
6.6 从 PPT 扩展到更多场景
WorkBuddy + 本地模型这套架构不应该只用来做 PPT。你可以基于同样的模式扩展:
- Word 文档生成:写一份产品需求文档。
- Excel 报表生成:把数据转成带图表的表格。
- 思维导图生成:输出 Markdown 再转换成思维导图。
- 代码生成与解释:根据注释生成 Python 代码。
每新增一个场景,只需要写一个新的 Skill,复用模型和框架。这也是 Agent 架构最吸引人的地方。
7. 总结与学习路线
这篇文章完整走了一遍“本地 Qwen3.8-27B + WorkBuddy 生成 PPT”的流程,核心要点总结如下:
- AI 生成 PPT 的本质是“大模型结构规划 + Agent 调度渲染”。
- 本地部署的核心价值在数据安全、成本可控、行为可定制。
- WorkBuddy 的 Skill 机制把模型输出和文件生成解耦开来,让系统容易扩展。
- python-pptx 承担最终的 .pptx 渲染工作,模板可以复用企业现有样式。
- 模型选择上不必盲目追大,指令跟随能力和生成速度更重要。
如果你想继续深入,建议按以下顺序学习:
- 先熟悉 Ollama 的模型管理和 API 调用,把 Prompt 调优基本功练扎实。
- 学习 python-pptx 的完整 API,掌握自定义母版、占位符、主题样式。
- 研究 WorkBuddy 的 Skill 开发机制,尝试新增一个 Word 或 Excel 生成技能。
- 如果你的场景涉及大量相似 PPT,还可以尝试引入 RAG(检索增强生成),让模型基于资料库自动生成内容。
最终记住:AI 生成的内容永远是草稿,你的判断力才是最终交付质量的保障。把 AI 生成的 PPT 当作一个效率极高的起点,而不是终点,这是用好这套方案的正确姿势。