基于文心一言的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)
### 文心一言 API 调用示例代码 为了成功调用文心一言 API,需先访问幂简集成平台完成注册并获得对应的 API 密钥。此过程确保开发者能够合法地请求服务[^1]。 下面展示的是 Python 中调用文心一言大模型的具体实例: ```python import requests import json def get_access_token(api_key, api_secret): url = "https://aip.baidubce.com/oauth/2.0/token" params = { "grant_type": "client_credentials", "client_id": api_key, "client_secret": api_secret } response = requests.post(url, data=params) result = json.loads(response.text) if 'access_token' in result.keys(): return result['access_token'] else: raise Exception("Failed to obtain access token") def call_wenxin_api(access_token, message): url = f"https://api.wenxin.baidu.com/v1/eden/chat?access_token={access_token}" headers = {'Content-Type': 'application/json'} payload = {"message": message} response = requests.post(url, headers=headers, data=json.dumps(payload)) answer = json.loads(response.text) return answer.get('result', '') if __name__ == "__main__": # 用户应替换为自己申请得到的API密钥和秘钥 API_KEY = '你的API_KEY' API_SECRET = '你的API_SECRET' try: access_token = get_access_token(API_KEY, API_SECRET) reply = call_wenxin_api(access_token, "你好") print(f"收到回复: {reply}") except Exception as e: print(e) ``` 上述脚本实现了两个主要功能:一是通过给定的 `API_KEY` 和 `API_SECRET` 获取访问令牌;二是利用获取到的访问令牌向文心一言发送消息,并接收其响应[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拨开自己的理想三旬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值