基于文心一言的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)
文章出处登录后可见!
已经登录?立即刷新