使用RAG的思想進(jìn)行PPT生成的框架思路-SlideCoder 原創(chuàng)
手動創(chuàng)建幻燈片既費(fèi)時又費(fèi)力,如何從參考圖像自動生成可編輯的幻燈片?
現(xiàn)有的問題:如Autopresent的方法,通過構(gòu)建大批量的SFT數(shù)據(jù)生成ppt代碼來生成ppt。然而,自然語言描述難以準(zhǔn)確描述幻燈片的視覺設(shè)計,LLMs在處理復(fù)雜PPT時存在局限性,特別是包含多樣元素類型和高元素密度的情況;LLMs對python-pptx庫的理解不足,導(dǎo)致生成的代碼可能存在語法錯誤或不可執(zhí)行。
SlideCoder提出一個基于RAG的思想-布局感知的檢索增強(qiáng)框架,用于從參考圖像生成可編輯的PPT。
方法
如下圖,SlideCoder框架的目標(biāo)是從參考圖像生成可執(zhí)行的Python幻燈片代碼。由三個核心模塊組成:基于顏色梯度的圖像分割算法(CGSeg)、層次化檢索增強(qiáng)代碼生成模塊(H-RAG)以及布局感知提示機(jī)制。
SlideCoder框架
1、基于顏色梯度的圖像分割算法(CGSeg)
CGSeg是一種遞歸的顏色梯度分割算法,用于將幻燈片設(shè)計圖像分解為語義上有意義的區(qū)域。該算法通過計算圖像的顏色梯度來識別和分割不同的區(qū)域,從而減少多模態(tài)大模型在理解復(fù)雜幻燈片設(shè)計時的難度。步驟如下:
- 圖像分割:將輸入圖像劃分為網(wǎng)格,并計算每個塊的Sobel梯度幅度。
- 激活塊標(biāo)記:根據(jù)梯度幅度與閾值的比較,標(biāo)記出激活的塊。
- 區(qū)域填充:對二值激活掩碼進(jìn)行洪水填充操作,識別出連接的區(qū)域。
- 遞歸分割:對每個子圖像進(jìn)行遞歸分割,以適應(yīng)不同區(qū)域的視覺復(fù)雜度。
2、層次化檢索增強(qiáng)代碼生成模塊(H-RAG)
H-RAG模塊基于RAG的思想,提升多模態(tài)大模型對python-pptx庫的理解和代碼生成能力。通過兩個知識庫的層次化結(jié)構(gòu),分別為描述器和編碼器提供支持,確保生成的代碼在結(jié)構(gòu)和語法上的準(zhǔn)確性。
兩個主要知識庫
- 形狀類型知識庫(Shape Type Knowledge Base, TS-KB):該知識庫包含了python-pptx文檔中定義的各種形狀類型的描述。這些描述用于指導(dǎo)描述器生成標(biāo)準(zhǔn)化的形狀描述,確保生成的描述與python-pptx的術(shù)語一致。例如,描述器在生成描述時會使用TS-KB中的術(shù)語,如“autoshape”或“textbox”,以確保描述的準(zhǔn)確性和一致性。示例如下:
- 操作函數(shù)知識庫(Operation Function Knowledge Base, OF-KB):該知識庫包含了python-pptx庫中各種函數(shù)的完整語法規(guī)范,包括參數(shù)、返回值和使用示例等。編碼器利用OF-KB中的信息生成精確的代碼片段,確保生成的代碼在語法上是正確的,并且符合python-pptx庫的使用規(guī)范。例如,編碼器在生成代碼時會參考OF-KB中的函數(shù)參數(shù)和返回值信息,以確保生成的代碼能夠正確調(diào)用python-pptx庫的函數(shù)。示例如下:
知識庫的構(gòu)建與嵌入
使用了BGE M3-Embedding模型對知識庫中的條目進(jìn)行嵌入,并構(gòu)建了一個基于向量的檢索數(shù)據(jù)庫。
檢索與生成過程
由三個agent組成:描述器(Describer)、編碼器(Coder)和組裝器(Assembler)。
- 描述器生成全局和塊描述:描述器首先根據(jù)輸入的圖像和分割結(jié)果生成全局的設(shè)計描述以及每個分割塊的詳細(xì)描述。在生成描述的過程中,描述器會從TS-KB中檢索相關(guān)的形狀類型信息,以確保描述的標(biāo)準(zhǔn)化和準(zhǔn)確性。
- 編碼器生成代碼片段:編碼器根據(jù)描述器生成的塊描述,從OF-KB中檢索相關(guān)的函數(shù)語法信息,生成相應(yīng)的代碼片段。這些代碼片段是基于檢索到的函數(shù)語法規(guī)范生成的,確保了代碼的語法正確性和功能性。
- 組裝器生成完整代碼:組裝器將編碼器生成的代碼片段與布局信息結(jié)合,從OF-KB中檢索完整的語法模式,生成最終的幻燈片代碼。組裝器在生成代碼時會參考OF-KB中的語法模式,以確保生成的代碼在結(jié)構(gòu)上是正確的,并且能夠正確地布局幻燈片元素。
3、布局感知提示
布局感知提示機(jī)制通過在提示中注入布局位置信息,確保生成的代碼在空間上與參考圖像一致。該機(jī)制還從知識庫中檢索語法模式,以避免語法錯誤和代碼沖突。提示詞如下:
實驗與結(jié)論
SlideCoder在所有難度等級上的總體得分均優(yōu)于現(xiàn)有基線。
示例對比
消融實驗結(jié)論:在移除每個組件后,執(zhí)行率和總分均表現(xiàn)出不同程度的下降,這證明了每個組件對整體框架的貢獻(xiàn)。
參考文獻(xiàn):SlideCoder: Layout-aware RAG-enhanced Hierarchical Slide Generation from Design,https://arxiv.org/pdf/2506.07964v1repo:https://github.com/vinsontang1/SlideCoder(代碼暫未開源)
本文轉(zhuǎn)載自??大模型自然語言處理?? 作者:余俊暉
