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

5 天前
 maquedexiju

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

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

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

我对 PPt 制作的理解

PPt 创作的过程

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

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

内容创作+PPt 布局

工具化拆解 PPt 的制作过程

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

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

值得注意的是:

功能设计

愿景与诉求

我希望我的 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 模板中,生成最终的演示文稿。

重点功能模块包括:

快速开始

环境准备

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

安装步骤

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

启动后:

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

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

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

486 次点击
所在节点    推广
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1159089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX