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. 生成结果示例

相关推荐
艾莉丝努力练剑6 小时前
【AI大模型接入SDK】ChatServer接口测试
网络·c++·人工智能·学习·ai·大模型·sdk
雨晨源码(同名B站)6 小时前
深度学习毕业设计选题推荐:基于YOLO11的交通标志检测系统设计与实现(Python+Django+Vue3+对接deepseek)
人工智能·python·深度学习·机器学习·django·课程设计
海盗12346 小时前
微软技术日报 2026-11-01:语言模型 API 免申请、8 个威胁组织被分四档
人工智能·microsoft·语言模型·机器人·人工智能aigc
一级新生6 小时前
LLM _ Agent _ Skill _ 专家 的关系与选型笔记
java·开发语言·人工智能·笔记·大模型·智能体·skill
2601_967979126 小时前
python中str函数怎么用?使用方法与注意事项详解
python·使用方法·字符串转换·注意事项·str函数
青少儿编程课堂6 小时前
蓝桥杯青少组图形化+信息素养+电子学会Scratch考级:校园口算闯关解析
c++·python·算法·bfs·信息学竞赛
fanruitian6 小时前
python 机器学习 交叉验证train_test_split 网格搜索GridSearchCV
开发语言·python·机器学习
jktantan15 小时前
Vue keep-alive 切标签后滚动位置回顶?因为 onDeactivated 里读到的 scrollTop 是 0
前端·javascript·vue.js
前端精髓16 小时前
结构化输出with_structured_output(抽卡)
python·langchain
尹人入圣17 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip