見出し画像

ChatGPT × マイクロソフトパワーポイント-自動作成

ChatGPTの回答を直接Microsoft Powerpointに連携し、自動でパワーポイントを作成できないか考えて色々と調べてみました。Pythonでpython-pptxというライブラリを使用すれば出来ることがわかりましたので、つらつらと書いていきます。


今回使用するコードを利用しますと、下記のようなファイルが作成できます。


今回作成する成果物例



今回使用するコードは、test.pyとして作成します。

import os
import openai

#Import the required libraries for powerpoint
import collections
import collections.abc
from pptx import Presentation

#Set the API Key
openai.api_key="Your-API-Key"

#Set the model
openaimodel="gpt-3.5-turbo"

#Initialize the presenetaion
prs = Presentation()
title_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]

#prompt
prompt="OpenAIとは、どういう組織ですか?"

#Process of OpenAI
response1=openai.ChatCompletion.create(
            model=openaimodel,
            messages=[
                {"role":"user", "content": f"{prompt} 100文字以内で回答せよ。"}
            ]
            )
responseOpenAI=response1['choices'][0]['message']['content']


title.text = f"{prompt}"
subtitle.text = f"{responseOpenAI}"

prs.save('test.pptx')


test.pyの留意点は、以下です。

  • Your-API-Keyには、OpenAIで取得したAPIキーを記載してください。

  • pptxを使うために、from pptx import Presentationの前に、必ずimport collectionsとimport collections.abcを記載してください。

  • ChatGPTの回答が長すぎるとパワーポイントからはみ出してしまうので、100文字以内に限定しております。文字のフォントを小さくする方法で回避する方法も調べればあります。


次に、requirements.txtとして、以下を作成してください。

openai
python-pptx


ここまで、準備が出来ましたら、自分のPC環境で以下を実行していきます。

python -m venv venv
venv\Scripts\Activate
pip install -r requirements.txt
python test.py


上記を実行しますと、実行ディレクトリに、test.pptxというファイルが出来上がっていますので、確認してみましょう。

今回、このコードを実行したら、下記のパワーポイントが出来上がっていました。


test.pptx


今回は簡単な自動パワーポイント作成となりますが、文字のフォントサイズや、枚数変更なども出来ますので、調べていきたいです。

いいなと思ったら応援しよう!