当前位置: 首页 > news >正文

使用RAG的思想进行PPT生成的框架思路-SlideCoder

手动创建幻灯片既费时又费力,如何从参考图像自动生成可编辑的幻灯片?

现有的问题:如Autopresent的方法,通过构建大批量的SFT数据生成ppt代码来生成ppt。然而,自然语言描述难以准确描述幻灯片的视觉设计,LLMs在处理复杂PPT时存在局限性,特别是包含多样元素类型和高元素密度的情况;LLMs对python-pptx库的理解不足,导致生成的代码可能存在语法错误或不可执行

往期介绍的相关ppt生成框架,如:《PPTAgent:PPT自动生成Agent框架》、《使用多Agent进行海报生成的技术方案及评估套件-P2P、paper2poster》都提到,布局信息对于ppt生成或者海报生成都很重要。

SlideCoder提出一个基于RAG的思想-布局感知的检索增强框架,用于从参考图像生成可编辑的PPT

方法

如下图,SlideCoder框架的目标是从参考图像生成可执行的Python幻灯片代码。由三个核心模块组成:基于颜色梯度的图像分割算法(CGSeg)、层次化检索增强代码生成模块(H-RAG)以及布局感知提示机制。

SlideCoder框架

1 基于颜色梯度的图像分割算法(CGSeg)

CGSeg是一种递归的颜色梯度分割算法,用于将幻灯片设计图像分解为语义上有意义的区域。该算法通过计算图像的颜色梯度来识别和分割不同的区域,从而减少多模态大模型在理解复杂幻灯片设计时的难度。步骤如下:

  1. 图像分割:将输入图像划分为网格,并计算每个块的Sobel梯度幅度。
  2. 激活块标记:根据梯度幅度与阈值的比较,标记出激活的块。
  3. 区域填充:对二值激活掩码进行洪水填充操作,识别出连接的区域。
  4. 递归分割:对每个子图像进行递归分割,以适应不同区域的视觉复杂度。
2 层次化检索增强代码生成模块(H-RAG)

H-RAG模块基于RAG的思想,提升多模态大模型对python-pptx库的理解和代码生成能力。通过两个知识库的层次化结构,分别为描述器和编码器提供支持,确保生成的代码在结构和语法上的准确性。

两个主要知识库
  1. 形状类型知识库(Shape Type Knowledge Base, TS-KB):该知识库包含了python-pptx文档中定义的各种形状类型的描述。这些描述用于指导描述器生成标准化的形状描述,确保生成的描述与python-pptx的术语一致。例如,描述器在生成描述时会使用TS-KB中的术语,如“autoshape”或“textbox”,以确保描述的准确性和一致性。示例如下:

  2. 操作函数知识库(Operation Function Knowledge Base, OF-KB):该知识库包含了python-pptx库中各种函数的完整语法规范,包括参数、返回值和使用示例等。编码器利用OF-KB中的信息生成精确的代码片段,确保生成的代码在语法上是正确的,并且符合python-pptx库的使用规范。例如,编码器在生成代码时会参考OF-KB中的函数参数和返回值信息,以确保生成的代码能够正确调用python-pptx库的函数。示例如下:

知识库的构建与嵌入

使用了BGE M3-Embedding模型对知识库中的条目进行嵌入,并构建了一个基于向量的检索数据库。

检索与生成过程

由三个agent组成:描述器(Describer)、编码器(Coder)和组装器(Assembler)。

  1. 描述器生成全局和块描述:描述器首先根据输入的图像和分割结果生成全局的设计描述以及每个分割块的详细描述。在生成描述的过程中,描述器会从TS-KB中检索相关的形状类型信息,以确保描述的标准化和准确性。

  2. 编码器生成代码片段:编码器根据描述器生成的块描述,从OF-KB中检索相关的函数语法信息,生成相应的代码片段。这些代码片段是基于检索到的函数语法规范生成的,确保了代码的语法正确性和功能性。

  3. 组装器生成完整代码:组装器将编码器生成的代码片段与布局信息结合,从OF-KB中检索完整的语法模式,生成最终的幻灯片代码。组装器在生成代码时会参考OF-KB中的语法模式,以确保生成的代码在结构上是正确的,并且能够正确地布局幻灯片元素。

3 布局感知提示

布局感知提示机制通过在提示中注入布局位置信息,确保生成的代码在空间上与参考图像一致。该机制还从知识库中检索语法模式,以避免语法错误和代码冲突。提示词如下:

实验与结论


SlideCoder在所有难度等级上的总体得分均优于现有基线。

示例对比

消融实验结论:在移除每个组件后,执行率和总分均表现出不同程度的下降,这证明了每个组件对整体框架的贡献。

参考文献:SlideCoder: Layout-aware RAG-enhanced Hierarchical Slide
Generation from Design,https://arxiv.org/pdf/2506.07964v1

repo:https://github.com/vinsontang1/SlideCoder(代码暂未开源)

相关文章:

  • 语言模型进化论:从“健忘侦探”到“超级大脑”的破案之旅
  • Unity动画的RootMotion
  • [特殊字符] Harmony OS Next里的Web组件:网页加载的全流程掌控手册
  • 精益数据分析(101/126):SaaS商业模式优化与用户生命周期价值提升策略
  • 微服务--Gateway网关
  • 漏洞(网络空间安全真相)
  • SpringAI使用总结
  • Windows MySQL8密码忘了解决办法
  • NLP 基础概念
  • 阿里云 Linux 运维常见问题及深度解决方案
  • 图数据库介绍及应用,go和Java使用图数据库
  • NLP学习路线图(四十五):偏见与公平性
  • C语言多进程TCP服务器与客户端
  • I/O模式之epoll,本文会讲到epoll的相关接口以及底层,还会涉及水平和边缘工作模式,以及通过epoll相关接口实现一个水平工作模式服务端
  • @Profile, @Conditional, @ConditionalOnMissingBean, @ConditionalOnClass
  • 七大技术路线解析:自动驾驶如何被数据重新定义
  • 在python中获取符合特定模式的文件
  • 【互联网基础】互联网公司机房怎么设计
  • kylin 10 安装 redis-7.4.4
  • OpenBayes 一周速览丨对标GPT-4o! BAGEL统一处理多模态数据理解和生成任务; 专为软件工程任务设计, Devstral自主处理复杂工程问题
  • 有什么做兼职的好的网站/收录查询站长工具
  • 榆林市 网站建设/打开百度一下
  • 泰安北京网站建设/seo和竞价排名的区别
  • 网页制作多少钱一个月/网站是怎么优化的
  • 大庆市建设局网站上不去/企业做网上推广
  • redis做网站/推广软文发稿