Loading...

2024-01-15(月) 15:00

🦾 ChatGPT APIをセットアップし動作確認する

OpenAIChatGPT
ChatGPTのAPIを使用するために必要なクレジットの購入とAPIキー生成手順を解説します。

目次

前提と注意事項

以下が前提と注意事項になります。

  • 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をクリックします。

OpenAIのAPIを選択

以下のように、Settingsメニューの中にあるBillingをクリックして請求情報ページにアクセスします。以下の画像を見て分かる通り、Free trialと書かれており現在は無料プランであることを確認できます。ここで、Add payment detailsボタンをクリックします。

請求情報ページ

Add payment detailsボタンをクリックすると、以下のようにIndividual(個人)かCompany(法人)か確認されるので、ここではIndividualを選択します。

IndividualかCompanyかの確認

以下のようにクレジットカード情報の入力フォームが表示されます。クレジットカード情報を入力してContinueボタンをクリックします。

クレジットカード情報の入力フォーム

以下のように、最初のチャージ分の購入画面が表示されます。 最小は 5 ドルからなので、ここでは5を入力してContinueをクリックします。 なお、Would you like to set up automatic recharge?はオンにすると、残高がなくなった際に自動的にチャージされるようになります。ここではオフのままにしておきます。

最初のチャージ分の購入画面

以下のように購入の確認画面が表示されるので、問題なければConfirm paymentボタンをクリックします。

購入の確認画面

Confirm paymentボタンをクリックすると購入処理が実行され、完了すると以下のように現在のプランがPay as you go(従量課金)に更新され、Credit balanceも💲5.00に更新されます。

現在のプランがPay as you goに更新される

以上で ChatGPT の API 用のクレジット購入が完了しました。

ChatGPT の API キーを作成する

以下のように左サイドメニューにあるAPI Keysをクリックします。

APIキーのメニュー

以下のようにAPI Kyesのページが表示されるので、Create new secret keyボタンをクリックします。

APIキーの作成

以下のように API キーの名前入力ダイアログが表示されるので、適当な名前を入力してCreate new secretボタンをクリックします。ここではMy Test Keyとしました。

APIキーの名前入力ダイアログ

Create new secretボタンをクリックすると以下のように API キーが表示されるので、コピーしておきます。この API キーは再度表示することができないため、最新の API キーを確認する場合は、再度作成する必要があります。

作成したAPIキー

以上で API キーの作成が完了です。

curl コマンドで動作確認する

公式ドキュメントにあるように、試しにcurlコマンドを使って ChatGPT に質問を投げてみます。以下のsk-***********************部分は自分の API キーに置き換えてください。

curlコマンドで質問を投げる
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 秒ほどで以下のような応答が返ってきました。

curlコマンドの応答
{
  "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はこれらの合計のトークン数です。

トークン数の料金は使用するモデルによって異なります。詳しくは以下の公式ドキュメントを参照してください。

Pricing

Simple and flexible. Only pay for what you use.

platform.openai.com

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 キーが間違いないか確認してください。

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