ChatGPTについて詳しく解説します
- PythonでChatGPTを利用する手順を教えて欲しい
- 実際のスクリプトも、シンプルなものを教えて欲しい
この記事では、以上の疑問にお答えします。
ChatGPTではAPIと、Python用のライブラリがすでに用意されており、比較的簡単にPythonを使ったChatGPTの利用が可能です。
この記事では、PythonでChatGPTの文章生成を出来るようにするまでの一連の手順をまとめました。
具体的には、以下のように、チャットの返答が文字列として受け取れる状態までの手順です。
また、スクリプト実行時にいくつか頻繁に出てくるエラーメッセージもあるので、それらについてもまとめています。
ご参考までに、それではどうぞ。
また、このスクリーンショットは、Amazon Linux2・Python3.7.16の環境で撮影したものです。
目次
著:I/O編集部
TipstourのChrome拡張記事を寄稿しました! 工学社さんより、ChatGPT×Chrome拡張機能を使ってより便利にChatGPTを活用する方法をまとめた書籍に、当ブログの記事が本書の1章に掲載されています。 |
【概要】PythonでChatGPTを使えるようにするまでの全手順
さて、PythonでChatGPTを利用できるようにするためには、以下の作業が必要です。
- ChatGPTのアカウントを作成する
- ChatGPTのAPIキーを取得+課金設定をする
- Pythonで「openai」パッケージをインストール
- PythonスクリプトからChatGPTを利用
【手順①】ChatGPTのアカウントを作成する
まずは当然ながら、ChatGPT(OpenAI)のアカウントが必要です。
おそらく多くの方はすでにアカウントを作成して、ChatGPTを利用済みだと思いますが、新規登録の方法を以下のページでまとめていますので、未作成の方はこちらをご覧ください。
【手順②】ChatGPTのAPIキーを取得+課金設定をする
ChatGPTをPythonや外部アプリで使う際は、APIキーの取得が必要です。
ChatGPTのAPIは課金制となっており、料金的には1回の会話で1円ほどの費用がかかる形です。
このAPIキーの取得と、クレジットカードでの課金設定についても、別記事にてイチから解説しています。
まずは先に、こちらの設定を完了させて、APIキーを入手してください。
【手順③】Pythonで「openai」パッケージをインストール
ということでここから本題、Pythonで実際にChatGPTを利用する方法です。
Pythonの場合、requestsなどを使わなくても、ChatGPTを利用できる「openai」というパッケージが用意されているので、これをPipでインストールします。
ということで、コンソールにて以下のコマンドを実行しましょう。
これで、最新バージョンのopenaiがインストールされたはずです。
「pip freeze」でインストールされているパッケージを確認して、リストの中に「openai」が入っていることを確認しましょう。
【手順④】PythonスクリプトからChatGPTを利用
openaiがインストールできたら、あとはPythonスクリプトを実行するだけで、ChatGPTが利用できます。
こちらが実際のスクリプトです。
import openai #ここに取得したAPIキーを設定します openai.api_key = "*****" #プロンプト(チャット内容)を入力します prompt = "ChatGPTについて教えて下さい。" #APIリクエストのオプションを設定します response = openai.Completion.create( engine="text-davinci-003", # エンジン名の指定 prompt=prompt, # プロンプトを入力 max_tokens=500, # 生成されるトークンの最大数 n=1, # 生成する応答の数 stop=None, # 生成が止まる特定のトークン temperature=1.0, # 生成のランダム性の度合い top_p=1.0, # トークンの生成確率のしきい値 ) #生成された文章を出力します generated_text = response.choices[0].text print(generated_text)
openai.api_keyの部分には、手順②で取得したAPIキーを入力してください。
「sk-******」という、skから始まる英数字の文字列がAPIキーです。
実際に実行してみるとこんな感じ
上記スクリプトを実行してみると、数秒経って、このような文章が生成されました。
送信したチャット内容(プロンプト)は「ChatGPTについて教えて下さい。」です。
この文章はstr型で出力されているので、そのまま別の用途に変数を利用可能です。
試しに複数回実行してみると、通常のChatGPTと同様、毎回異なる文章が返ってくることがわかります。
毎回、内容が新たに生成されていることがわかりますね。
各ステータスの解説
APIのリクエストには、いくつか設定できるオプション、パラメータがあります。
これによって生成する文章の内容を変更できるようになっているので、必要によって設定を使い分けるのが良さそうです。
特に指定がなければ上記スクリプトのデフォルト設定で問題なしです。
以下に、それぞれのオプションをまとめました。
オプション | 説明 |
---|---|
engine | 使用するAIエンジンの名前を指定。 |
prompt | モデルに与える入力として使用されるテキストを指定。 モデルはこのプロンプトをもとに応答を生成します。 |
max_tokens | 生成されるテキストのトークンの最大数。 日本語の場合、「1文字=1.2トークン」ほどとなります。 |
n | 生成する応答の数。 指定した数値の数だけ、応答のバリエーションを生成します。 (生成した分だけ、トークンと費用がかかる) |
stop | 生成プロセスが停止する特定のトークン(文字、単語、記号など)を指定。 これを指定した場合、そのトークンに達した時点で生成が終了します。 |
temperature | 生成されるテキストのバリエーションを制御する値。 値が低いほど、生成されるテキストが毎回同様の内容になり、 値が高いほど、自由なテキストが生成されるようになります。 |
top_p | トークン生成時の確率のしきい値。 値が低いほど、生成する応答の一貫性が高くなり、 値が高いほど、多様な応答をするようになります。 |
【エラー①】openai.error.RateLimitErrorが出る場合
上記スクリプトを実行した際に、以下のようなエラーが出る場合があります。
openai.error.RateLimitErrorというのはAPI料金の利用上限に到達したのでこれ以上APIを利用できませんよ、という意味のエラーです。
が、課金設定をしていない状態でもこのエラーが発生します。
もし、はじめての利用でこのエラーが表示された場合は、OpenAIの開発者向けページから、クレジットカードの登録と課金設定を完了させましょう。
その手順は、以下のページにて解説しています。
【エラー②】openai.error.AuthenticationErrorが出る場合
このようなエラーが出る場合もあります。
openai.error.AuthenticationErrorはその文字通り、APIキーの認証エラーです。
「認証キーが間違っている」もしくは「認証キーが削除されてもう存在しない」のが理由であると考えられます。
スクリプトで指定しているAPIキーが現在も有効なものかどうか、開発者向けページを見て確認しましょう。
セキュリティの関係上、APIキーの末尾部分しか表示されませんが、入力しているAPIキーの末尾と一致しているかをまずは確認しましょう。
もし一致しているのにエラーが出る場合は、仕方がないので「+Create new secret key」から新しいAPIキーを作成しましょう。
保存しているAPIキーが正しいのかどうかを確認するより、その方が手っ取り早いです。
まとめ
以上、PythonからChatGPTを利用する方法まとめでした。
もう一度、全体の作業の流れを整理しておきます。
- ChatGPTのアカウントを作成する
- ChatGPTのAPIキーを取得+課金設定をする
- Pythonで「openai」パッケージをインストール
- PythonスクリプトからChatGPTを利用
PythonでChatGPTを扱えるようになると、かなり広い範囲で応用が可能になります。
すでに用意されている既存のパッケージやライブラリ類と組み合わせるだけでも、今までできなかった自動化が実現可能になるはずです。
当ブログでは、他にもChatGPTの利用方法や活用方法、自動化のアイデア・テクニックなどをご紹介していますので、あわせてぜひご覧ください!
以上、参考までに。
それでは!