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

相关推荐
LJA648446 小时前
为什么 AI 时代更需要配置化组件库
vue.js
小江的记录本7 小时前
【Java基础】反射与注解:核心原理、自定义注解、注解解析方式(附《思维导图》+《面试高频考点清单》)
java·数据结构·python·mysql·spring·面试·maven
梦想不只是梦与想7 小时前
Python中 Pydantic数据验证库
python·pydantic
008爬虫实战录7 小时前
【码上爬】 题十:魔改算法 堆栈分析,找加密值过程详解
前端·python·算法
人道领域7 小时前
Java基础热门八股总结:八种基本数据类型 + 装箱拆箱 + 缓存机制,(90%的Java新手都搞不清的装箱拆箱问题)
java·开发语言·python
机汇五金_7 小时前
专业的电脑机箱厂商
python
smileNicky8 小时前
Spring框架懒加载怎么实现?
python·spring·rpc
佳杰云星8 小时前
如何给大模型集群选“大脑”?智算调度与管理平台 10 维选型指南(附选型评分表)
人工智能·kubernetes·大模型·云计算·gpu·算力调度·智算中心
熊猫_豆豆8 小时前
麦克斯韦方程组(电磁效应Python展示)
开发语言·python·电磁感应·麦克斯韦方程组
SilentSamsara8 小时前
属性查找顺序:实例 → 类 → 父类的完整 MRO
开发语言·python·算法·青少年编程