6
8

More than 1 year has passed since last update.

ChatGPTがアクセスできなかったので、PythonでGPT3.0のAPIを呼び出して使ってみて十分だった話。

Last updated at Posted at 2023-01-19

概要

ChatGPTは現在人気沸騰中で、時々アクセスが集中していて使えないことがあります。GPT3も十分な精度のチャットボットを実現できるし、製品に組み込みやすいAPIが2023/1月現在も提供されているので、この記事では使い方を画面キャプチャつきで解説します。

目次

申請

以下を参考にGMAILアカウント作っておく
https://support.google.com/mail/answer/56256?hl=ja

以下URLへアクセス
https://beta.openai.com/account/api-keys

Sign upをクリック
image.png

Continue with Googleをクリック
image.png

Accountを選択して、進むと次の画面が出てくるので名前をアルファベット表記で入れてContinue

image.png

電話番号を入力して、Sendし、6桁のコードを取得
image.png

ショートメールに届いたコード6桁をEnter Code以下に入力して進むと
次の画面が表示されるので、アンケートに答える。

image.png

個人的な興味なので、「I'm exploring personal use」とする。
以下のような画面に遷移するので、Create new secret keyを押下し、表示されるAPI Keyを控えておく。

image.png

プログラム開発

以下URLにアクセスし、ノートブックを新規作成。
https://colab.research.google.com/

これで、pipモジュールインストールしたり、Pythonのコードを書いていきます。
image.png

openaiをインストールします。「GPT-3」を使うためです。

pip install openai

利用可能なモデルのリストを取得します。OPENAI_API_KEYには上記のステップで取得したAPI Keyを入力してください。

import os
import openai
openai.api_key = "OPENAI_API_KEY"
openai.Model.list()

モデルと対話してみます。「日本語わかります?」と聞いたらわかるそうです。

response = openai.Completion.create(
  model="text-davinci-003",
  prompt="日本語はわかります?\nA:",
  temperature=0,
  max_tokens=100,
  top_p=1,
  frequency_penalty=0.0,
  presence_penalty=0.0,
  stop=["\n"]
)

print(response["choices"][0]['text'])
はい、わかります。

もう少し話しかけやすいように関数化しておきます。

def message(text):
  response = openai.Completion.create(
    model="text-davinci-003",
    prompt=text,
    temperature=0,
    max_tokens=100,
    top_p=1,
    frequency_penalty=0.0,
    presence_penalty=0.0,
    stop=["\n"]
  )
  return response["choices"][0]['text']

現在23:00で今日の積み上げ中で、眠いのではなしかけたら、
癒し系の返事が帰ってきました。

message("そろそろ眠くなってきませんか? A: \n")
はい、そうです。今日は長い一日でしたから、もう少しで眠くなりそうです。

おわりに

GPT3でもチューリングテスト合格レベルで本当に中に人間が入っているみたいです。ChatGPTもいままで試していましたが、PythonからAPI呼び出しできる方が使い勝手がよさそうです。この記事に興味を持っていただいた方は、著者TwitterでもChatGPTやAI関連情報をアウトプットしてますので、フォローお願い致します。

@keiji_dl

関連講座

GPT3やChatGPTはデコーダがTransformerブロックでできています。Transformerを使ってPythonアプリを本格開発したい方向けの講座は下記です。

参考記事

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8