Presenton
扫码查看

一个通过AI生成演示文稿的开源工具

Presenton

综合介绍

Presenton 是一个开源的AI演示文稿生成工具。用户可以在自己的设备上本地运行它,从而完全控制个人数据和隐私。这款工具允许用户通过简单的文本提示或大纲,快速生成演示文稿。Presenton支持多种大型语言模型,包括OpenAI、Google的Gemini,以及通过Ollama运行的本地开源模型。在图像生成方面,它也提供了多样化的选择,例如DALL-E 3、Gemini Flash、Pexels和Pixabay。除了提供一个直观的网页界面,Presenton 还具备API功能,开发者可以通过API请求来集成和自动化演示文稿的生成过程。生成的文件可以导出为通用的PPTX和PDF格式,方便在不同场合下使用和分享。

功能列表

  • 本地化运行:应用程序完全在用户本地设备上运行,确保数据安全和隐私。
  • 多模型支持:支持接入OpenAI、Google Gemini等多种AI模型,也允许通过Ollama集成自定义的本地模型。
  • 开放API接口:提供API用于程序化生成演示文稿,方便集成到其他自动化工作流中。
  • 多样化图像源:可选择DALL-E 3、Gemini Flash、Pexels或Pixabay等多种服务来为幻灯片生成图片。
  • 自定义模板:用户可以使用HTML和Tailwind CSS创建符合个人或品牌风格的自定义布局和模板。
  • 灵活的生成方式:既可以通过一句话的提示词生成,也可以提供详细的大纲来精确控制内容结构。
  • 多种导出格式:支持将完成的演示文稿导出为PowerPoint(PPTX)和PDF文件。
  • 开源免费:项目基于Apache 2.0许可证完全开源,用户可以自由使用和修改。

使用帮助

Presenton 的核心优势在于其本地化部署能力和灵活性。用户既可以通过简单的网页界面操作,也可以通过API进行集成。以下是详细的使用帮助。

通过Docker在本地运行Presenton

最简单的使用方式是通过Docker在本地计算机上运行Presenton。这可以确保您在完全私密的环境下生成演示文稿。

1. 启动Presenton容器

首先,你的电脑需要安装Docker。安装后,根据你的操作系统,在终端或命令行工具中运行以下命令。

  • 在Linux或MacOS系统上:
    docker run -it --name presenton -p 5000:80 -v "./app_data:/app_data" ghcr.io/presenton/presenton:latest
    
  • 在Windows (PowerShell)上:
    docker run -it --name presenton -p 5000:80 -v "${PWD}\app_data:/app_data" ghcr.io/presenton/presenton:latest
    

    此命令会从GitHub容器镜像仓库拉取最新的Presenton镜像,并启动一个名为presenton的容器。它将容器的80端口映射到你电脑的5000端口,并将应用数据保存在你当前目录下的app_data文件夹中,以确保数据持久化。

2. 打开Presenton网页界面

容器成功运行后,打开你的浏览器(如Chrome、Edge或Firefox),访问 http://localhost:5000。现在你就可以开始使用Presenton的网页界面了。

在网页界面中使用Presenton

网页界面非常直观,生成一个演示文稿的流程如下:

  1. 输入核心内容:在主界面的输入框中,输入你想要生成的演示文稿的主题或一个简单的提示词。例如:“介绍一下什么是机器学习”。
  2. 设定参数:在提示词下方,你可以选择需要生成的幻灯片数量(默认为8张)和演示文稿的语言。
  3. 选择主题:Presenton提供多种视觉主题,如“现代”、“专业”等。你可以根据喜好选择一个。
  4. 审核和编辑大纲:点击生成后,AI会首先为你创建一个内容大纲。此时,你可以检查每一页的标题和要点,并直接在界面上进行修改、删除或重新排序,以确保内容结构符合你的要求。
  5. 生成并预览:确认大纲无误后,Presenton会开始生成完整的演示文稿,包括文本内容和配图。生成后,你可以在网页上直接预览和播放。
  6. 再次调整和导出:如果对生成的效果不满意,你可以随时更换主题。确认最终版本后,可以点击导出按钮,将文件保存为PPTX或PDF格式。

配置环境变量和外部API

Presenton允许你使用自己的API密钥,从而只为你实际使用的AI模型付费。你可以在启动Docker容器时通过环境变量来配置它们。

  • 使用OpenAI模型
    docker run -it --name presenton -p 5000:80 \
    -e LLM="openai" \
    -e OPENAI_API_KEY="sk-..." \
    -e IMAGE_PROVIDER="dall-e-3" \
    -e CAN_CHANGE_KEYS="false" \
    -v "./app_data:/app_data" \
    ghcr.io/presenton/presenton:latest
    

    这个命令设置了使用openai作为语言模型,并使用dall-e-3生成图片。CAN_CHANGE_KEYS="false"参数会锁定API密钥,使其在网页界面上不可更改。

  • 使用本地Ollama模型:如果你在本地运行了Ollama,可以配置Presenton来使用本地模型,实现完全离线操作。
    docker run -it --name presenton -p 5000:80 \
    -e LLM="ollama" \
    -e OLLAMA_MODEL="llama3" \
    -e IMAGE_PROVIDER="pexels" \
    -e PEXELS_API_KEY="YOUR_PEXELS_KEY" \
    -e CAN_CHANGE_KEYS="false" \
    -v "./app_data:/app_data" \
    ghcr.io/presenton/presenton:latest
    

    这里将语言模型设置为ollama,并指定使用llama3模型。图片则通过Pexels服务生成。

通过API生成演示文稿

对于开发者,Presenton的API功能非常实用。你可以通过发送一个POST请求来生成演示文稿。

  • API地址http://localhost:5000/api/v1/ppt/generate/presentation
  • 请求方法POST
  • 请求类型multipart/form-data

请求参数:

  • prompt (字符串, 必填): 演示文稿的主题。
  • n_slides (整数, 可选): 幻灯片数量,默认为8。
  • language (字符串, 可选): 语言,默认为"English"。
  • layout (字符串, 可选): 布局主题,默认为"general"。
  • export_as (字符串, 可选): 导出格式,"pptx"或"pdf",默认为"pptx"。
  • documents (文件, 可选): 可以上传PDF、TXT等文件作为额外的参考资料。

示例请求 (使用curl):```bashcurl -X POST http://localhost:5000/api/v1/ppt/generate/presentation-F "prompt=介绍一下什么是机器学习"-F "n_slides=5"-F "language=Chinese"-F "layout=general"-F "export_as=pptx"

**成功响应**:
API会返回一个JSON对象,包含生成文件的ID、下载路径和在线编辑路径。
```json
{
"presentation_id": "d3000f96-096c-4768-b67b-e99aed029b57",
"path": "/static/user_data/d3000f96-096c-4768-b67b-e99aed029b57/介绍一下什么是机器学习.pptx",
"edit_path": "/presentation?id=d3000f96-096c-4768-b67b-e99aed029b57"
}

你需要将http://localhost:5000与返回的path拼接起来,才能构成完整的下载链接。

应用场景

  1. 技术分享与开发者会议开发者可以使用自己熟悉的Ollama本地模型,快速将技术笔记或项目文档转换为结构清晰的演示文稿,用于团队内部分享或公开演讲。
  2. 教育与课程制作教师和教育工作者可以利用Presenton,输入课程主题或教学大纲,快速生成包含图文的课件初稿,并导出为PPTX格式进行二次修改,大幅提升备课效率。
  3. 商业提案与快速报告市场或销售人员可以根据客户需求或会议主题,通过简单的提示词快速生成一份商业提案或工作报告的初稿,从而将更多精力投入到内容的精细打磨上。
  4. 自动化内容生产内容创作者或技术团队可以利用其API功能,将其集成到自己的工作流中。例如,可以设定一个程序,定期抓取行业报告,并自动调用Presenton的API生成摘要性的演示文稿。

QA

  1. 与Gamma或Beautiful.ai等在线工具相比,Presenton有什么不同?最大的不同在于数据隐私和成本控制。Presenton可以完全在你的个人电脑上本地运行,确保你的提示词和生成的文稿内容不会被上传到任何第三方服务器。同时,它允许你使用自己的AI模型API密钥或本地的Ollama模型,成本更加透明可控。
  2. 我需要懂编程才能使用Presenton吗?完全不需要。你可以通过其简单直观的网页界面完成所有操作,从输入主题到导出文件,整个过程无需编写任何代码。API功能是为有自动化需求的开发者准备的可选功能。
  3. Presenton支持哪些AI模型?它支持OpenAI(如GPT-4)、Google(如Gemini)以及任何与Ollama兼容的开源语言模型(如Llama 3)。你可以根据需求和预算自由选择。
  4. 生成演示文稿后,我可以进行修改吗?可以。AI生成大纲后,你可以直接在网页上编辑和调整大纲的文本内容。此外,最终文件可以导出为PPTX格式,你可以使用Microsoft PowerPoint或苹果的Keynote等任何兼容软件进行后续的深度编辑和美化。
微信微博Email复制链接