PPT-EA:PPT自动生成器

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替换计划生成。

开发环境

编程语言:Python 3.11.10

Web框架:Flask

数据库:MySQL 8.0.27

词向量数据库:Chroma

安装教程
  1. 安装依赖库

    shell 复制代码
    pip install -r requirements.txt
  2. 导入数据库文件,数据库文件存储在 deploy/ppt_ea.sql

  3. 配置文件

    在文件 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
  4. 启动服务

    shell 复制代码
    python manage.py
使用说明
  1. 前端项目地址:fronted-PPT-EA
  2. 新建用户后需要在配置-API管理中选择大模型并配置对应的API Key才能进行对话
  3. 新建对话后如果附加文档会自动进行文档嵌入的框架生成,如果不附带文档则会进行普通框架生成
  4. 如果历史附带了文档,后续文档都会自动进行文档嵌入
  5. 生成PPT需要配置模板,模板文件可以在配置-模板管理中上传
  6. 生成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               # 工具类
界面说明
  1. 模板管理(提供PPT模板)

  2. PPT生成(输入需求,生成PPT)

  3. 文档嵌入(能够基于用户提供的文档作为知识库,进行PPT生成)

  4. PPT下载界面

  5. 生成结果示例

相关推荐
一壶浊酒..3 小时前
python 爬取百度图片
开发语言·python·百度
该用户已不存在3 小时前
工具用得好,Python写得妙,9个效率工具你值得拥有
后端·python·编程语言
广龙宇3 小时前
【一起学Rust · 项目实战】使用getargs库来获取命令行参数
开发语言·python
mit6.8244 小时前
[Agent开发平台] 后端的后端 | MySQL | Redis | RQ | idgen | ObjectStorage
人工智能·python
学编程的小虎4 小时前
用 Python + Vue3 打造超炫酷音乐播放器:网易云歌单爬取 + Three.js 波形可视化
开发语言·javascript·python
yunson_Liu5 小时前
编写Python脚本在域名过期10天内将域名信息发送到钉钉
开发语言·python·钉钉
CoderJia程序员甲5 小时前
GitHub 热榜项目 - 日榜(2025-10-14)
ai·开源·大模型·github·ai教程
布林模型5 小时前
缠论工具czsc快速使用入门(二)
python·缠论·快速入门·czsc
LuckySusu6 小时前
【vue篇】Vue 项目中的静态资源管理:assets vs static 终极指南
前端·vue.js