当前位置:AIGC资讯 > AIGC > 正文

基于文心一言的PPT自动生成

基于文心一言的PPT生成,AIStudio项目地址,快去fork运行吧


项目借鉴了autoppt, ppt两个项目。生成的PPT还没加入特效,有待改善,希望大佬们可以提出宝贵的建议。

一、生成PPT效果展示

注意,因为生成PPT时间较长,应用体验效果不是很好,总是出现错误,建议放到本地运行gradio页面。


二、设计思路

视频讲解链接

(【基于文心一言的PPT自动生成上集】 https://www.bilibili.com/video/BV1TC4y1J7M7/?share_source=copy_web&vd_source=49ac2517b671ca0d4ec8f7092e33bd0a) 【基于文心一言的PPT自动生成下集】 https://www.bilibili.com/video/BV1Fc411o7gP/?share_source=copy_web&vd_source=49ac2517b671ca0d4ec8f7092e33bd0a

三、具体实施

3.1 准备PPT模板

这里准备了5个简单的模板供大家使用,解压即可,大家也可以按照我准备的模板格式,自己构建模板,只需要更改一下图片名和copy一下json文件.部分模板展示

#解压模板
%cd ~
!unzip /home/aistudio/data/data246239/ppt_template.zip

3.2 安装依赖

# 安装所有集成所需的所有模块
# !pip install 'langchain[all]'
!pip install -r requirements.txt 

3.3 调用接口生成内容(记得放访问令牌)

# 1、获取access_token
access_token = ''
PPT_title = 'AI'
# 2、进行需求分析
from app import analysis_requirements

analysis_content = analysis_requirements(PPT_title, access_token)
print(analysis_content)

3.4 根据内容生成PPT

# 3、根据需求生成ppt内容
from structure_article import StructureArticle

character_a = "你是一个博学多才的人,精通各种领域的知识。"
struct_articles = StructureArticle(api_type='Ernie', main_idea_knowledge=analysis_content, access_token=access_token)
content = struct_articles.generate_article(PPT_title, character_a)
print(content)

3.5 PPT 插图

此处使用的爬虫代码,爬取的百度图片上的内容,若生成的PPT中没有插图,可以修改/mdtree/img_search.py文件中的head

若修改之后,生成的PPT任然无法插图,建议本地调试,亲测,本地调试可成功插入爬取的图片

import os 
import random 
from mdtree import tree2ppt

# 定义模板选择函数
def choice_template():
    ls = os.listdir('./ppt_template')
    return random.randint(1, len(ls))

save_path = "./ppt/" + PPT_title + ".pptx"
mode = choice_template()
print('+++++++++++++++++++++++++++++++++++++++++++++++++++++')
tree2ppt.Tree2PPT(content, "./ppt_template/" + str(int(mode)), save_path=save_path)

四、根据PPT生成演讲稿,emmm

from ernieapi import ernie_result
prompt_yanjiang = f"""
你擅长根据PPT文本生成演讲稿,你需要按照我提供的PPT文本,生成演讲稿并且演讲稿中不能出现‘\n,#’这类符号。文本:{content}。
"""

ernie_result(prompt_yanjiang, access_token)

更新时间 2023-11-30