PPT-EA:PPT自动生成器
PS:给大家写个博客吧,这博客好久没写了,好多年没写了。谢谢谢谢
一直没来得及更新,PPT-EA是之前做的一个小项目,主要是想简化PPT生成的流程,其实现在有很多平台可以使用,例如KIMI等,他们的PPT效果也挺好的,但是相对来说开源的相关项目还是比较少的,所以之前是做了这么一个工作,想把这套流程自己实现以下。
代码连接👇
PPT-EA
前端代码在👉PPT-EA-frontend (PS:当时拼错了)
感兴趣的可以Star一下
介绍
PPT-EA 是一款基于 LLM 的 PPT 生成工具,可以快速生成自然语言对话的 PPT 模板,并智能填充和修改 PPT 内容。
软件特点
- 支持自然语言对话生成PPT框架与PPT生成任务
- 支持文档嵌入,基于文档生成PPT框架与PPT生成任务
- 支持任意PPT模板,对模板文件没有要求,只需上传模板即可生成PPT
- 目前大模型支持DeepSeek、GLM,这部分在代码里很容易增加
软件架构
软件架构说明:
软件模块说明:

包含了以下模块:
- 用户管理
- 用户注册
- 用户登录
- 用户信息修改
- LLM与API KEY管理
- LLM模型选择
- API KEY管理
- 设置当前使用的LLM模型
- 对话管理
- 对话创建
- 对话列表
- 对话详情
- 对话删除
- 文档嵌入
- 框架生成
- 普通框架生成
- 文档嵌入框架生成
- 文档管理
- 文档上传
- 文档列表
- 文档删除
- 模板管理
- 模板上传
- 模板列表
- 模板删除
- PPT生成
- PPT生成
- 普通PPT生成
- 文档嵌入PPT生成
- PPT下载
- PPT生成
PPT生成框架流程:
流程中会基于是否包含文档进行不同的PPT生成流程,如果包含文档则会进行文档嵌入,否则会进行普通框架生成。
文档嵌入在第一次对话生成时会创建词向量数据库并保存至本地,后续的修改与生成会基于向量数据库进行文档嵌入,提供额外信息。
PPT生成模板流程图:
首先系统会对PPT模板进行结构分析,解析每一页的元素与内容,然后根据PPT框架生成的内容生成PPT替换计划。
替换计划会根据PPT框架生成的内容与PPT模板的结构进行匹配,生成替换规则,然后根据规则替换PPT模板的内容,生成最终的PPT。
替换时会对每个替换的子页面单独进行替换,根据模板提示词结合大模型填充内容,文档型的PPT生成会基于文档的内容进行PPT替换计划生成,普通型的PPT生成会基于对话的内容进行PPT替换计划生成。
开发环境
编程语言:Python 3.11.10
Web框架:Flask
数据库:MySQL 8.0.27
词向量数据库:Chroma
安装教程
-
安装依赖库
shellpip install -r requirements.txt
-
导入数据库文件,数据库文件存储在
deploy/ppt_ea.sql
中 -
配置文件
在文件
config/develop_config.conf
中修改数据库配置信息shell[DATABASE] dialect = mysql driver = pymysql username = xxx password = xxx host = xxx.xxx.xxx.xxx port = 3306 database = xxx
词向量模型目前基于ZhiPu的模型,也需要进行配置
shell[EMBEDDING] embedding_model = zhipu embedding_api_key = xxx
-
启动服务
shellpython manage.py
使用说明
- 前端项目地址:fronted-PPT-EA
- 新建用户后需要在
配置-API管理
中选择大模型并配置对应的API Key才能进行对话 - 新建对话后如果附加文档会自动进行文档嵌入的框架生成,如果不附带文档则会进行普通框架生成
- 如果历史附带了文档,后续文档都会自动进行文档嵌入
- 生成PPT需要配置模板,模板文件可以在
配置-模板管理
中上传 - 生成PPT后需要一定时间,在对话列表中可以点击
下载
按钮跳转到下载页面,下载生成的PPT
项目结构说明
├─api_1_0 # API路由
├─app # 项目配置
├─config # 配置文件
├─controller # 控制器
├─db # 向量数据库存储
│ └─vectors
├─deploy # 部署文件
├─llm # LLM模型
│ ├─embeddings # 词向量模型
│ └─models # 对话模型
├─logs # 日志文件
├─models # 数据库模型
├─service # 业务逻辑
├─test # 测试文件
├─uploads # 上传文件保存
│ ├─documents
│ ├─generation
│ └─templates
└─utils # 工具类
界面说明
-
模板管理(提供PPT模板)
-
PPT生成(输入需求,生成PPT)
-
文档嵌入(能够基于用户提供的文档作为知识库,进行PPT生成)
-
PPT下载界面
-
生成结果示例