在数字化办公与教学场景中,演示文稿已成为信息传递的核心载体。作为兼具视觉表达与结构化呈现的工具,PowerPoint广泛应用于学术汇报、商业提案、教育培训等多个领域,其专业性与易用性使其成为职场人士和教育工作者的首选工具。然而,从内容策划、视觉设计到动态演示的全面打磨,往往需要投入大量认知资源与制作时间,这对快节奏工作场景下的效率需求构成了显著挑战。
针对这一效率瓶颈,智能演示生成技术应运而生。该技术深度整合自然语言处理(NLP),通过语义解析引擎实现文本信息的逻辑重构,完成信息收集与PPT生成。
我们以“Python入门教程”PPT为例,演示如何来实现。
在开始之前,我们先准备一下开发环境,使用pip安装openai、python-pptx。
pip install openai python-pptx
一、基础方案
最简单的想法是:通过DeepSeek获取到需要的数据,然后填写到PPT文件中。具体步骤如下:
- 调用DeepSeek接口获取数据。注意要求AI输出结果为JSON结构(在提示词中注明),方便我们操作数据。
- 创建PPT文件对象。
- 遍历JSON数据,依次创建幻灯片并设置标题及内容。
- 保存PPT文件。
import json
import time
from openai import OpenAI
from pptx import Presentation
from pptx.util import Inches, Pt
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# ==========第一步、通过DeepSeek获取数据==========
# 建立DeekSeek连接,其中api_key请自行到DeepSeek购买获取
client = OpenAI(api_key="<api_key>", base_url="https://api.deepseek.com")
# 提示词
messages = [
{
"role": "user",
"content": "你是ppt专家,也是一位资深的python开发工程师,请设计一份“Python入门教程”的PPT。要求:"
"1、以JSON格式输出"
"2、符合培训需求,将相关知识介绍清晰完整"
}
]
# 发送请求
response = client.chat.completions.create(model="deepseek-chat", messages=messages, response_format={
'type': 'json_object'})
# 将响应数据转为JSON格式
data = json.loads(response.choices[0].message.content)
print(data)
# ==========第二步、创建PPT文件并写入数据==========
# 创建一个新PPT对象
ppt = Presentation()
# 设置幻灯片版式(标题+内容)
slide_layout = ppt.slide_layouts[1]
# 遍历数据,添加幻灯片及内容
for slide_info in data['slides']:
# 添加幻灯片
slide = ppt.slides.add_slide<