前提と注意事項
以下が前提と注意事項になります。
- ChatGPT のアカウント(OpenAI のアカウント)登録が完了していること。
- クレジットカード情報の登録と支払いが必要になります。
- 動作確認に curl コマンドを使用します。
ChatGPT を API 経由で使用するには、事前にクレジットの購入が必要になります。なお、API は ChatGPT Plus プランなどの有料プランとは別物になるため、ChatGPT Plus などに加入していても API を使用するためにはクレジットの購入が必要になります。
本記事では、OpenAI の API と ChatGPT の API を同義として扱っています。
この記事のゴール
この記事では、ChatGPT の API を使うために必要なクレジットの購入と API キーの生成を行い、curlコマンドを使って ChatGPT を API 経由で質問を投げて回答を得るところまでをゴールとします。
ChatGPT API 使用のためのクレジットを購入する
ブラウザで ChatGPT のアカウントでログインすると以下のようにChatGPTとAPIの選択画面が表示されるのでAPIをクリックします。
以下のように、Settingsメニューの中にあるBillingをクリックして請求情報ページにアクセスします。以下の画像を見て分かる通り、Free trialと書かれており現在は無料プランであることを確認できます。ここで、Add payment detailsボタンをクリックします。
Add payment detailsボタンをクリックすると、以下のようにIndividual(個人)かCompany(法人)か確認されるので、ここではIndividualを選択します。
以下のようにクレジットカード情報の入力フォームが表示されます。クレジットカード情報を入力してContinueボタンをクリックします。
以下のように、最初のチャージ分の購入画面が表示されます。
最小は 5 ドルからなので、ここでは5を入力してContinueをクリックします。
なお、Would you like to set up automatic recharge?はオンにすると、残高がなくなった際に自動的にチャージされるようになります。ここではオフのままにしておきます。
以下のように購入の確認画面が表示されるので、問題なければConfirm paymentボタンをクリックします。
Confirm paymentボタンをクリックすると購入処理が実行され、完了すると以下のように現在のプランがPay as you go(従量課金)に更新され、Credit balanceも💲5.00に更新されます。
以上で ChatGPT の API 用のクレジット購入が完了しました。
ChatGPT の API キーを作成する
以下のように左サイドメニューにあるAPI Keysをクリックします。
以下のようにAPI Kyesのページが表示されるので、Create new secret keyボタンをクリックします。
以下のように API キーの名前入力ダイアログが表示されるので、適当な名前を入力してCreate new secretボタンをクリックします。ここではMy Test Keyとしました。
Create new secretボタンをクリックすると以下のように API キーが表示されるので、コピーしておきます。この API キーは再度表示することができないため、最新の API キーを確認する場合は、再度作成する必要があります。
以上で API キーの作成が完了です。
curl コマンドで動作確認する
公式ドキュメントにあるように、試しにcurlコマンドを使って ChatGPT に質問を投げてみます。以下のsk-***********************部分は自分の API キーに置き換えてください。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-***********************" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "こんにちは。これはテストです。"}],
"temperature": 0.7
}'上記のcurlコマンドを実行してから 2、3 秒ほどで以下のような応答が返ってきました。
{
"id": "chatcmpl-sk28dj08g08j0w48jt0840jsdjfk",
"object": "chat.completion",
"created": 1705280962,
"model": "gpt-3.5-turbo-0613",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "こんにちは!このテキストはテストですね。どのようなテストなのでしょうか?お手伝いできることがあれば教えてください。"
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 49,
"total_tokens": 64
},
"system_fingerprint": null
}content部分が ChatGPT によって生成された回答です。問題なく API が動作していることが確認できました。また、prompt_tokensは質問で消費したトークン数、completion_tokensは回答で消費したトークン数、total_tokensはこれらの合計のトークン数です。
トークン数の料金は使用するモデルによって異なります。詳しくは以下の公式ドキュメントを参照してください。
insufficient_quota エラーが出る場合
以下のようなinsufficient_quotaエラーが出る場合は ChatGPT の API 用のクレジット購入が完了しているか確認してみてください。
{
"error": {
"message": "You have insufficient quota to complete this request. Please purchase more API credits at https://beta.openai.com/usage.",
"type": "insufficient_quota",
"param": null,
"code": "insufficient_quota"
}
}また、usageページでCredit Grantsが残っているか確認してみてください。残っていない場合は追加のクレジット購入が必要です。
invalid_request_error エラーが出る場合
以下のようなinvalid_request_errorが出る場合は、API キーが間違いないか確認してください。
{
"error": {
"message": "Incorrect API key provided: sk-si2m**************************************sk28. You can find your API key at https://platform.openai.com/account/api-keys.",
"type": "invalid_request_error",
"param": null,
"code": "invalid_api_key"
}
}まとめ
ChatGPT の API を使用するために必要なクレジットの購入と API キーの生成手順を解説しました。この記事ではcurlコマンドを使って質問を投げたのみですが、以下の公式ドキュメントには Python と Node.js を使った API の使用例が載っていますので、参考にしてみてください。
Introduction
You can interact with the API through HTTP requests from any language, via our official Python bindings, our official Node.js library, or a community-maintained library.
platform.openai.com