如何用大模型自动生成PPT?AutoPresent及SlideCoder方案


今天是2025年6月12日,星期四,北京,晴

我们来看文档智能进展,上次是paper2poster,这次是用来做ppt。

从工程上来说,可以使用python-pptx库来创建幻灯片。通过这种方法,可以控制幻灯片的每一个细节,包括文本内容、图像、视觉布局、颜色等。

但可以进一步自动化,例如很直观的做法,就是直接做大模型微调,核心在于搞一批SFT数据集,但是,简单微调,并不能捕捉细节信息,这也说明PPT生成并非易事,还需要做很多事情,难点还是有很多。

例如,如何准确理解设计图像并生成可编辑的幻灯片代码;如何处理复杂幻灯片中的多样元素类型和高元素密度;如何提高LLMs对python-pptx库的理解以生成语法正确且可执行的代码

想做好并不容易,所以,可以看看两个方案,有一些思路。

一、AutoPresent方案

先看一个工作AutoPresent《AUTOPRESENT: Designing Structured Visuals from Scratch》(https://github.com/para-lost/AutoPresent,https://arxiv.org/pdf/2501.00912),思想就是通过微调LLAMA模型来生成Python代码,具体基于8B LLaMA+7000对指令和幻灯片生成代码进行训练

如何用大模型自动生成PPT?AutoPresent及SlideCoder方案

例如,对应的一条微调数据如下:

如何用大模型自动生成PPT?AutoPresent及SlideCoder方案

或者在一次生成ppt后,可以再次进行修正。

如何用大模型自动生成PPT?AutoPresent及SlideCoder方案

这个工作还做了个事情,提出了SLIDESBENCH基准测试,这是第一个用于幻灯片生成的基准测试,包含7k训练和585测试示例,来自10个领域的310个幻灯片,这个数据集可以用下。

二、SlideCoder方案

最近的工作《SlideCoder: Layout-aware RAG-enhanced Hierarchical Slide Generation from Design》,https://arxiv.org/pdf/2506.07964,https://github.com/vinsontang1/SlideCoder(代码还未公开)

其思想很简单,为一种布局感知的检索增强生成框架,用于从设计图像生成可编辑的幻灯片。

1、核心之一:层次化检索增强生成

这个指的是,采用层次化检索增强生成(Hierarchical Retrieval-Augmented Generation, H-RAG)方法,包括形状类型知识库和操作函数知识库。前者包含来自python-pptx文档的对象描述,用于指导描述器生成标准化描述。例如,“这个自动形状包括一个文本框...”中的两个术语都是文档中的对象名称,后者包括完整的语法规范(例如参数、返回值等)。如下面的一个例子:

如何用大模型自动生成PPT?AutoPresent及SlideCoder方案

包含三个协作代理:Describer、Coder和Assembler,如下图:

如何用大模型自动生成PPT?AutoPresent及SlideCoder方案

描述器Describer负责生成全局和块级别的描述;

编码器Coder生成代码片段,这个代码片段采用RAG的方式进行合成,所以会用到对应的知识库,这个主要采用BGEM3-嵌入,对于提示p,计算其向量,将前k个相关条目插入到p中

组装器Assembler使用布局感知提示生成完整的幻灯片代码,也就是Assembler中引入布局感知提示,提示模板结合了参考图像设计、全局描述、部分代码、布局表示和从H-RAG知识库中检索到的语法模式

整个流程就是:描述器从形状类型知识库检索对象类型,以识别块图像中的元素并输出标准化描述;编码器使用这些信息查询操作函数知识库并生成代码片段。组装器使用这些片段检索完整的语法模式并生成可执行代码

例如,对应的prompt如下:

如何用大模型自动生成PPT?AutoPresent及SlideCoder方案

2、核心之二:图像分割

布局的生成很重要,这是第一步,基于颜色梯度的分割算法(Color Gradients-based Segmentation, CGSeg),将幻灯片图像分割成语义上有意义的区域。

如何用大模型自动生成PPT?AutoPresent及SlideCoder方案
如何用大模型自动生成PPT?AutoPresent及SlideCoder方案

分成几个步骤:

1)划分(Grid Blocks):将输入图像划分为网格,并计算每个块的梯度幅度,标记出梯度幅度显著高于中位数的激活块;

2)填充(Flood-filled):对激活块进行洪水填充操作,识别出连通区域,这些区域对应于子图像;

3)递归分割(recursively segments):对子图像进行进一步的递归分割,确保图像的层次分解,同时保留相应的位置信息。

这其实也说明,布局信息很有意义

参考文献

1、https://github.com/para-lost/AutoPresent

2、https://arxiv.org/pdf/2506.07964

关于我们

老刘,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。

对大模型&知识图谱&RAG&文档理解感兴趣,并对每日早报、老刘说NLP历史线上分享、心得交流等感兴趣的,欢迎加入社区,社区持续纳新。

加入社区方式:关注公众号,在后台菜单栏中点击会员社区加入。


版权声明:charles 发表于 2025年6月12日 am5:29。
转载请注明:如何用大模型自动生成PPT?AutoPresent及SlideCoder方案 | AI工具大全&导航

相关文章