Open27
ChatGPTを使ってクイズアプリを作ってみる

以下のサイトを参考に実施
まずはOpenAIのサイトにアクセスしてログイン。
アカウントがない場合は、アカウントを作成する。

ログイン後、以下のサイトからAPI Keysを発行する。
こんな感じの画面
「Create new secret key」を押下して、適当なAPIKey名を入力、
「Create secret key」をクリックしたら、一度だけキーが表示されるので控えておく。

APIキーが取れたので、適当に叩いてみる。
映画おすすめくんのバックエンド資材をコピーしてきてTMDBAPI部分をChatGPTに置き換えてみる。
まずは必要なライブラリを落としてくる。
pip install openai
インストールした結果、0.27.8バージョンが入ってきた。
(openai以外のライブラリは映画おすすめくん開発時に入れたもの)

最小構成で構築
test.py
import pandas as pd
from flask_cors import CORS
from flask import Flask, request, jsonify
from deep_translator import GoogleTranslator
import openai
app = Flask(__name__)
CORS(app)
@app.route("/")
def test():
openai.api_key = "{OpenAIから取得したAPIKey}"
prompt = "こんにちは、私の名前は"
model = "text-davinci-002"
response = openai.Completion.create(
engine=model,
prompt=prompt,
max_tokens=5
)
return response.choices[0].text
if __name__ == "__main__":
app.run(debug=True)
test.http
###
GET http://localhost:5000/

test.pyを実行
test.httpから叩いてみたらなんかエラー出た。

エラーレスポンスがHTMLになっていたので、見てみた。
プラン、料金云々言っている。

クレジットカードの設定、上限金額の設定を行う必要があるみたい。

Qiitaの通り実施したらAPI叩けた。(アンジェラ Goldって何...?)

きたじが貼ってくれたサイトを真似てコードを修正したらそれっぽいものを返却してくれるようになった。
import pandas as pd
from flask_cors import CORS
from flask import Flask, request, jsonify
from deep_translator import GoogleTranslator
import openai
app = Flask(__name__)
CORS(app)
@app.route("/")
def test():
openai.api_key = "{OpenAIから取得したAPIKey}"
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)
得られた結果

サイトによって少し書き方が違う?
const completion = await openAiApi.createChatCompletion({
model: "gpt-3.5-turbo",
response = openai.Completion.create(
engine="davinci",
createChatCompletionの方がChatAPIっぽい回答が得られるとのこと。

APIキーを環境変数に保存する方法(WindowsとmacOS)
