一个真正可生产化的 AI 制作 PPt 工具 - PPt Yoda - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
maquedexiju
V2EX    推广

一个真正可生产化的 AI 制作 PPt 工具 - PPt Yoda

  •  
  •   maquedexiju 26 天前 782 次点击

    我试用了非常多市面上用于生成 PPt 的工具,目前市面上的生成工具往往都有一些问题:

    1. 内容质量不高:缺少细节和必要内容,乍一看内容还挺多,尤其是文件大纲目录比我想的还要完整,但是实际的内容质量不高。
    2. 缺少必要的元素:比如图片、图表、表格、公式等,这些元素对于 PPt 的展示效果非常重要。
    3. 版式固定:基本都只有“三段论”、“四段论”、“标题”等几种版式,无法满足不同主题的需求。
    4. 字体和母版有问题:虽然有的工具支持自行上传母版,但通过 AI 编辑后的 PPt ,会丢失母版信息,同时自己也会出现字体问题。
    5. 生成的 PPt 无法下载,只能在浏览器中查看,本地下载的只能是 PDF 。

    所以我决定自己写一个 PPt 生成工具,来解决这些问题,项目取名为 PPt Yoda,希望它能像尤达大师一样,帮助每一个绝地大师完成 PPt 编写。

    我对 PPt 制作的理解

    PPt 创作的过程

    相比于平铺的内容,PPt 的优势在于适配屏幕尺寸,给出更好的排版,通过动画等方式更加形象地展示内容。

    所以我们可以简单地把 PPt 创作拆解成两个过程:

    内容创作+PPt 布局

    • 关于内容创作,和基本 AI 创作的模式是一致的,最后应该形成具有良好层级结构的内容,包含表格、图表和图片,markdown 或者 json 都是不错的承载形式。
    • PPt 布局则需要考虑 PPt 的特有属性,把平铺的内容拆分成一个一个的页面,根据页面内容添加必要的图片、动画,根据内容的多少、元素之间的关系进行合理布局。

    工具化拆解 PPt 的制作过程

    1. 了解任务背景:首先明确 PPt 演示的主题、受众、场合、时长等基本信息,并明确通过材料希望达成的目标等。
    2. 确定内容大纲:根据任务背景,分为哪些具体的章节,每个章节希望达到什么目的。注意这个“内容大纲”和“PPt 大纲”并不等同。内容大纲更关注内容,而 PPt 大纲更关注 PPt 的结构。
    3. 素材与信息收集:收集信息的方式,可以包括网络数据检索,本地现有材料挖掘,或者自行创作等。
    4. 完成内容创作:根据内容大纲,结合收集到的信息,完成内容创作,包括文字、列表、图表、表格、公式等,确保内容的质量和准确性。
    5. 进行内容分页:根据内容创作的结果,综合考虑信息层级、内容字数等,对内容进行“分页”
    6. 完成页面设计:完成“分页”后,对每一页的内容进行分析,选择合适的布局,并添加必要的图片、动画等,确保 PPt 的质量和效果。
    7. 完成素材创作:材料中存在大量的图片、图表、表格、公式等,需要根据页面内容,对这些素材进行创作。

    其中 1-4 是内容创作的过程,可以由 AI 辅助; 5-6 是 PPt 布局的过程; 7 是素材创作的过程。

    值得注意的是:

    • 在真实的场景下,2 、3 、4 步骤实际上是一个穿插的过程,当我们收集了一定的素材,我们可能会希望重新调整大纲,或者给每一页做内容调整。
    • 理论上步骤 5 、6 的过程中,也可能不仅包括内容的删除和重组,可能也会为了页面的需求,增加一部分新的内容,但目前我们先不考虑。

    功能设计

    愿景与诉求

    我希望我的 PPt 生成工具能够满足以下几个方面的需求:

    1. 内容质量高:通过 AI 生成的 PPt ,内容质量高,细节丰富,符合我的需求。
    2. 元素丰富:支持图片、图表、表格、公式等元素,能够满足不同主题的需求。
    3. 版式灵活:支持自定义版式,能够满足不同主题的需求。
    4. 字体和母版问题:支持上传母版,能够解决字体和母版问题。
    5. 生成 的 PPt 可以下载,也可以通过浏览器预览,兼容 PPt 的同时,支持一些 JS 动画。
    6. 人机协同:制作过程的每一步都可以形成一个独立的任务,交给 AI 来完成,同时支持人工监督或信息补充。

    功能拆解

    PPT Yoda 将整个创作过程流水线化,每一步都支持 AI 辅助和人工微调:

    1. 任务理解与大纲生成: AI 首先会分析用户的核心目标、受众和场景,生成一个逻辑清晰的演示大纲。
    2. 素材收集与整合: 系统能够根据大纲,从用户提供的本地文件或知识库中检索、整合相关信息。
    3. 全文内容创作: 基于大纲和素材,AI 会撰写每一页的详细讲稿,包括文字、数据要点等。
    4. 智能分页与布局: AI 会根据内容的逻辑层级和信息密度,自动将全文切分成独立的页面。
    5. 模板应用与生成: 最后,系统会将分页后的内容精确地填充到用户指定的 PPT 模板中,生成最终的演示文稿。

    重点功能模块包括:

    • 素材管理: 支持用户对 PPt 相关素材内容进行管理,并提供素材收集任务的管理功能。
    • 内容生成: 基于强大的语言模型( LLM ),可自动生成演示文稿的大纲逐页讲稿;支持直接插入模板中的页面或章节。
    • 多媒体生成:基于多模态大模型,根据材料需求,完成图片、图标等内容的自动生成。
    • PPt 生成: 用户可以上传自己的 .pptx 文件作为母版,AI 将在此基础上进行内容填充和布局,完美保留原始设计风格。
    • Web 用户界面: 提供一个基于 Next.js 的现代化界面,支持多用户管理,每个用户可以创建自己的项目空间,上传素材、选择模板并启动生成任务。
    • 项目化管理: 将每一次演示文稿的创建过程作为一个独立项目进行管理,清晰地追踪从 想法 -> 素材 -> 大纲 -> 全文 -> 最终 PPt 的每一个阶段。

    快速开始

    环境准备

    在开始之前,请确保您的系统已安装以下软件:

    • Git
    • Python 3.13+
    • Node.js (包含 npm)
    • uv: 一个极速的 Python 包安装工具。
    • cairo: 一个 2D 图形库,用于处理图标( windows 上可以直接安装编译好的GTK)。

    安装步骤

    a. 克隆仓库

    git clone https://github.com/maquedexiju/PPtYoda.git cd PPtYoda 

    b. 安装后端依赖

    # 使用 uv 根据 pyproject.toml 安装依赖 uv pip install -e . 

    c. 安装前端依赖

    cd frontend npm install cd .. 

    d. 初始化项目 运行安装脚本来生成配置文件、初始化数据库并导入默认模板。

    # 该脚本会自动创建 config.ini, 初始化数据库, 并创建超级用户 python install.py 

    注意:默认存在一个超级用户,用户名: ppt_killer,密码: pt_12345

    配置

    a. 后端配置 安装脚本会自动从 config.ini.example 复制生成 config.ini 文件。您需要编辑此文件,填入您的 LLM API 密钥等信息。

    [LLM] LLM_BASE_URL = ... LLM_API_KEY = sk-YourAPIKeyHere LLM_MODEL = ... ... 

    启动项目

    我提供了一个便捷的脚本,可以同时启动后端和前端服务。

    python runserver.py 

    启动后:

    • 后端 Django 服务 将运行在 http://localhost:8810
    • 前端 Next.js 服务 将运行在 http://localhost:3000

    现在,您可以打开浏览器访问 http://localhost:3000 开始使用。 您可以通过 http://localhost:8810/admin/ 进行后台管理,默认用户名 ppt_killer,密码 pt_12345

    同时会自动生成一个演示项目,用来说明项目的使用方法,欢迎大家下载使用,提出自己的宝贵意见,并参与项目开发。

    项目 github 地址https://github.com/maquedexiju/PPtYoda

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     954 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 19:22 PVG 03:22 LAX 12:22 JFK 1:22
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86