
ChatGPT APIのはじめの一歩
ChatGPTに興味があるけどなかなか実際にどういう風に活用できるのか分かっていない。APIを試してみたいけどやり方があまり分かっていない、という方に向けて今回はチャットGPTAPIの使い方を解説していきます。
ChatGPTAPIの料金体系
まず初めにチャットGTP APIの料金体系を解説します。チャットGPTのAPIは有料ですがかなり低価格で利用が可能です。利用料金は以下のようになっており、GPT3.5ターボを使う場合とGPT4を使う場合で料金が変わってきます。GPT4はGPT3.5ターボの約10倍の料金が発生します料金の計算はトークンと呼ばれる単位によって計算されます。イメージとしては文字数に該当するのがトークンになります。
低価格とはいえ料金が発生するためクレジットカードの準備が必要です

GoogleColaboratoryを使ってChatGTPAPI使ってみよう
それでは早速ChatGPTAPIを使っていきたいと思います。今回利用するのはPythonを簡単に無料で実行することができるGoogleColaboratoryを使っていきたいと思います。
もしGoogleアカウントを持っていない人は作成しておいてください。
それではまず初めにOpenAIのAPIキーを取得していきます。これまでチャットGTPを使ったことがある人はオープンAIのアカウントを持っていると思いますが、まだ触ったことがなくアカウントを持っていない場合には最初にアカウントを作成します。
アカウントを持っていない場合は以下のページからアカウントの作成が可能です。メールアドレスと電話番号などを入力することで登録可能です。2023年6月現在では電話番号1つに対して2つのアカウントまでしか作成できないので注意してください。
https://platform.openai.com/signup

アカウントを既に持っている場合や作成した後は以下のオープンAIのプラットフォームにアクセスします。
https://platform.openai.com/overview

GPTやテキストの文字起こしなど様々なのサービスを利用できることを確認できます。
それでは早速登録を進めていきます。まずはアカウントにクレジットカードを登録します。右上にあるアイコンのPersonalをクリックしてManage Accountを選択します。

BillingのOverviewに表示されるSet up paid accountをクリックします。

まずは個人か法人かを選択します。
その後、クレジットカード情報を登録していきます。
最後にSet up payment methodを押して完了です。

続いて使いすぎを防止するために上限金額を設定していきます。この設定はとても重要ですので必ず行うようにしておきましょう。
支払い関連の画面のUsage limitsをクリックします

デフォルトでは上限金額は120ドルとなっています。ソフトリミットというのはその金額に達するとメールが届くというリミットになっていてハードリミットはその金額以上は使用されないというリミットになります。それぞれの金額を入力しておきましょう。入力した後は下側のsaveを押します。

APIキーの取得
ここまで準備ができたらAPIキーを取得します。
画面左側に表示されるAPI keysというタブをクリックします。

Create new secret keyからAPIキーを発行します。

APIキーは他人に知られると利用されてしまう可能性があるので、他人には知られないように管理しましょう。一度表示されたAPIキーの情報はOKを押すと消えてしまうので必ずどこかにメモしておきましょう。特にgithubなどに行動を上げる場合にはAPIキーがアップロードされないように注意する必要があります。
GoogleColaboratoryでAPIを使ってみよう
Googleドライブで安全にAPIキーにアクセスするために、Googleドライブでパラパラトリーを作成するフォルダーなどに.envのファイルを作成します。
ファイルの中身には先ほど取得したAPIキーを以下のように記入します。
OPENAI_API_KEY=""
あるいはローカルPC上で作成したファイルをアップロードする形でも問題ありません。
それではGoogleコラボラトリーのファイルを新しく作成します。
まずは、Google Colab(https://colab.research.google.com/)にアクセスします。アクセス後、Google Colab上部の「ファイル」から「ノートブックを新規作成」をクリックします。
クリックすると「ノートブック」が作成されます。
もしくは、すでにColaboratoryをアプリに追加している場合には、Driveの新規作成からも作成可能です。
まずは、Googleドライブをマウントします。
左側のフォルダーマークのアイコンをクリックしてGoogleドライブのマークをクリックします。するとGoogleドライブをマウントすることができます。

必要なライブラリーをpipでインストールします
!pip install openai
!pip install python-dotenv
続いて先ほど作成した環境変数ファイルを読み込めるように先ほど保存したファイルが存在するディレクトリまで移動しましょう。下の例ではマイドライブの下にChatGPTというフォルダを作成しその中に.envを入れている場合を示しています。
import os
os.chdir('/content/drive/MyDrive/ChatGPT/')
次にOpenAIのAPIキーを読み込みます
from dotenv import load_dotenv
# .envファイルの内容を読み込見込む TrueならOK
load_dotenv()
import openai
openai.api_key = os.environ["OPENAI_API_KEY"]
これで準備は完了ですそれでは早速APIキーを使ってChatGPTに質問してみましょう
# ChatGPT APIからのレスポンスを取得する
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "あなたはAIの専門家です。"},
{"role": "user", "content":"ChatGPTとは何ですか?"}
]
)
“role”: “system”では前提となる役割を与えることができます。例えば、あなたはAIの専門家です。のような役割を記述することができます。
そして次に”role”: “user”としてメッセージを投げます。今回の場合は、ChatGPTとは何ですか?になります。
responseの中身は画像のようになります

choice message contentの中にChatGPTからの回答が含まれていることが分かりますのでその値を取得します。
print(response['choices'][0]['message']['content'])
今回は以下のような回答が返ってきました
ChatGPTは、人工知能技術を利用して人間との対話を行い、様々な質問に答えるAIチャットボットです。ChatGPTは、自然言語処理と機械学習の技術に基づいており、ユーザーが入力したテキストデータを解析して、適切な回答を生成します。ChatGPTは、教育、健康、エンターテイメント、ビジネスなどの様々な分野で利用されています。
無事ChatGPTAPIを使ってChatGPTに質問することができました!