Open27

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

おこめおこめ

以下のサイトを参考に実施
https://aismiley.co.jp/ai_news/what-is-the-chatgpt-api/

まずはOpenAIのサイトにアクセスしてログイン。
アカウントがない場合は、アカウントを作成する。
https://openai.com/product

おこめおこめ

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っぽい回答が得られるとのこと。

きたじきたじ

環境構成

きたじきたじ

app.runでポートを5000以外に設定すれば行けた!

app.run(debug=True, port=5001)