はじめに
ChatGPTを使ったクイズアプリを作るにあたって、
前回はChatGPT APIについて得た情報をまとめたので、今回は実際にAPIを呼び出していきたいと思います!
また、開発中のあれこれについては以下のサイトでまとめています。
https://zenn.dev/kitaji12/scraps/a115ff66546e65
事前情報
- OpenAI / ChatGPT 初心者
- クイズアプリは React + Flask で作成
開発環境
- macOS Monterey 12.5
- Visual Studio Code 1.46.1
- Python 3.10.6
- Flask 2.3.2
準備
- 前回の記事で紹介したアカウントの作成からAPIキーの作成まで行う
OpenAI ライブラリをインストール
Pythonのサンプルプロジェクトを作成し、OpenAIのライブラリをインストールします。
ターミナルを開き、以下のコマンドを実行します。
$ pip install openai
APIキーを環境変数へ設定
次に、APIキーを環境変数にセットアップしておきます。
以下のコマンドのAPI_KEY
の部分に、取得したAPIキーを置き換えて実行します。
$ export OPENAI_API_KEY = "API_KEY"
ChatGPT APIを呼び出してみる
今回は最小構成でプロジェクトを作成し動かしてみます。
.
├── requirements.txt
├── test.http
├── test.py
必要なライブラリをまとめているテキストファイルです。
Flask==2.3.2
requests==2.31.0
Flask-Cors==3.0.10
openai==0.27.8
.http
ファイルで指定した HTTP 要求を送信します。
###
GET http://localhost:5000/
Pythonコードはこんな感じです。
from flask_cors import CORS
from flask import Flask
import openai
import os
app = Flask(__name__)
CORS(app)
@app.route("/")
def test():
openai.api_key = os.environ["OPENAI_API_KEY"]
## ChatGPTに投げる質問を記載する
response = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
messages = [
{"role": "user", "content": "ハリーポッターの最新作は"},
],
)
return response.choices[0]["message"]["content"].strip()
if __name__ == "__main__":
app.run(debug=True)
-
model
:今回は gpt-3.5-turbo を使用 -
messages
:ChatGPTに投げる質問を記載する-
role
:どこからの問い合わせなのかを明記する- user:人間からの問い合わせ
- assistant:GPTからの返答(以前の応答を保存するのに役立つ)
- system:ChatGPTに与える役を設定するために使用
-
content
:問い合わせや返答の文章を記載する
-
実行結果
■ test.py
ターミナルからtest.py
を実行した結果です。
サーバーがたったことが確認できました。
■ test.http
VSCodeからtest.http
を叩いた結果です。
精度は微妙ですが「ハリーポッター」に関する答えが返ってきました!
さいごに
ChatGPT APIを実際に叩いて結果が返ってくることが確認できました。
メッセージオブジェクトのroleパラメータを変えることでどんな目的で送ってきているかを判断できることを学びました!
クイズアプリの作成に向けて一歩前進したかなと思います。