現実に疲れ、試しにAIに励ましてもらうと「ちょっとええやん」な回答を得たので、調子に乗って違うキャラで試してみた結果、これ以上無い塩対応で心折られた皆さん、こんばんは。
最近ではVisual Studio CodeやObsidian、Logseqなどの外部アプリからChatGPTが使えるプラグインがあちこちからリリースされていて、僕も色々試している最中なんですが、いやー色んな意味で面白いですね。これはハマるわ。
ただ使ってると「これ、一般の人にはわかりにくくない?」と感じることが結構あるんですよね……特に料金に関することとか。
そこで今回はChatGPTのAPIを使う際、知っておきたい前提知識を一旦まとめておこうと思います。
APIとは、上記のようなアプリやNode.jsなど、OpenAIのWebサイト以外からChatGPTの機能にアクセスする際、必要なものと考えてください。
APIデモンストレーション
「APIとかよくわからん。普通にWebサイトからChatGPT使えばよくない?」と思われる方もいるかもしれません。そんな方のために、APIを使うと何が便利なのか? を少しだけご紹介しましょう。
デモンストレーションに使うのは、
- Visual Studio Code (+Python実行環境)
- ChatGPT – Genie AI (VS Codeの拡張機能)
- OpenAIから発行されるAPIキー
の3つです。
APIキーを取得する
APIを利用する際、必ず必要になってくるのがAPIキー。OpenAIのWebサイトでユーザー登録を済ませていれば、このページから簡単に生成できます。
開いたページ内の「Create new secret key」を選択後、開いたウインドウのコピーボタンをクリックして、テキストボックス内に表示されている文字列をコピーしておきましょう。
Visual Studio CodeでGPTを実行する
次にVisual Studio Codeを開き、拡張機能の「Genie – AI」をインストールしたら、
- Genie – AIを起動してウインドウを開く
- 適当に「コードを書いて」とお願いして、Shift + Enterで確定
- 初回はテキスト入力欄が開くので、そこにコピーしておいたAPIキーをペースト
Enterを押すと、
エディタ画面にAIがソースコードを書いてくれました。これをPythonのファイルとして保存し、実行してみましょう。
末吉……。
APIの便利なところ
おみくじの結果は微妙でしたが、APIの便利さはこれだけでもなんとなく伝わったかと思います。つまりAPIを使うと、
- 様々なアプリで、AIのパワーを活かした「相乗効果」を生み出せる
ということ。
ソースコードを生成できるAIが、ソースコードを編集/実行できるアプリ上で動く。相乗効果を生み出す例としては非常にわかりやすいのではないでしょうか。
Webブラウザと他のアプリを行ったり来たりする手間も省けるので、気軽にAIを活用できるという点も強みですね。
APIは完全無料で使えるわけではない
そんな便利なAPIですが、残念ながら無料ではありません。OpenAIにログインして、こちらのページにアクセスしてみましょう。
「Free trial usage」の欄にあるバーが少し伸びています。これはアカウント登録時、自動的に付与される18ドル分の試用チケットが消費されていることを表すサイン。
チケットを使い切ってしまうまでは、実質無料でAPIを利用できます。3ヶ月の有効期限が設定されているので、その間にガンガン使っておきましょう。
逆にこれがあるせいで「APIは無料で使える」と勘違いされがちですが、安心してください。18ドル分使い切った時点で支払い手続きが完了していなければ、それ以降は利用できなくなります。
APIは従量課金制
さらに注意しておきたいのは、APIがChatGPT Plus (GPT-4が使えるサブスク) に加入しているかどうかは無関係で有料であるという点です。公式の「Pricing」ページをスクロールして「FAQ」を確認してみましょう。
なんともややこしいですが、GPTに関する料金体系はこのようになっているようです。
Web | API | |
---|---|---|
GPT-3.5 | 無料 | 従量課金 ($0.002/1kトークン) |
GPT-4 | 定額 (月$20) | 従量課金 ($0.03/1kトークン〜) |
無料で使えるのはGPT-3.5をWebサイトから利用するとき限定で、APIは完全に従量課金制なんですね。
従来の3.5でも1000トークンあたり0.002ドル。そう高いもんじゃなさそうな気がしますが、では「トークン」とはどんな単位なんでしょうか?
トークンという単位と使用量の確認方法
トークンとは、ここでは「単語」と訳してしまうのが最も近いかと思います。ではどれくらいの単語量で1000トークンに達するのか?
これについてはOpenAIのWebサイトからアクセスできるTokenizerを使うと、ある程度推測が可能です。試しに英文を入力してみましょう。
トークン数77、文字数360。
英語の場合、文字数はそれほど関係なく、1単語 = 1トークンに近いと言えるでしょう。しかしこれが日本語になると話は全く変わってきます。
ほぼ同じ内容を日本語で入力した状態。
文字数は当然英語より少なくなりますが、トークン数は逆に増加するという結果に。
日本語の場合は1文字 = 1トークン、場合によってはそれ以上のペースでトークンを消費してしまうので、
長い文章を要約したり、校正するような使い方
会話を何往復も続けるような使い方
をする場合は若干注意が必要かもしれません。先にアクセスしたページで月々のトークン使用量が確認できるので、APIを使う頻度や扱う文字数が多い方はチェックしておきましょう。
GPT-4のAPIを利用する手順
料金に関する話は一旦置いておくとして、ここからはGPT-4についてお話しします。
「俺はサブスクに加入してないから関係無い」と思っている方……決して関係無くはありません。ChatGPT Plusがカバーしているのは「Webからのアクセスのみ」であったことを思い出してください。
GPT-4は、APIならサブスクに加入していなくても使えるんです。
ただ利用するには「Waitlist (順番待ちリスト)」に登録して、OpenAIからの招待を待つ必要があります。登録自体はもちろん無料なので、興味のある方は早めに済ませてしまいましょう。
Waitlistにjoinする
上記ページにアクセスして、ページに表示される【Join API waitlist】をクリック。次の画面で必要事項を入力します。
この中の【Organization ID】はOpenAIのアカウントでログインした状態で、入力欄の下側「account settings」をクリックすると確認可能。(下のリンクも同様のページです)
開いたページの【Organization ID】欄に表示されたテキストを全てコピペしましょう。ほどなくしてメールが届きます。
内容をかいつまんで紹介するとこんな感じ。
- 徐々に招待状を送る予定だよ
- OpenAIがリリースしている他のAPIでビルドしたことがある開発者を優先的に招待するよ
- 「OpenAI Evals」でAIを評価してくれた人も、優先される場合があるよ
- GPT-4には通常の8Kと、扱える容量の大きな32Kがあるけど、8Kが最初に開放されるよ
OpenAI Evalsについては、こちらの外部記事に詳しく掲載されています。
招待メールが届けば、あとはアプリや拡張機能側でGPT-4を使う設定に切り替えるだけ。今回デモンストレーションで使用したVisual Studio Codeを例に取ると、
- 設定画面を開く
- 「Genie」で検索して、Genie AIの設定項目を開く
- AIのモデルを選択する項目で、GPT-4を選択
一応APIキーを新たに発行して更新しておきましょう。利用されるモデルがGPT-4に切り替わるはずです。
APIの課金手続きについて
APIを使ってみて便利なのがわかった。今後も使い続けたいという場合は、アカウントページの【Billing】からAPIの課金手続きに進みましょう。
- 画面左側の「Overview」が選択状態であることを確認して、
- 「Set up paid account」
- ポップアップウインドウで「I’m an individual」(個人の場合)
を選択すると、クレジットカードの情報や住所を入力する画面が開きます。
必要事項を入力して「Set up payment method」をクリックすると登録完了です。
試用チケットが残っている場合、即座に課金されることは無いのでご安心を。
課金額の上限を設定する
登録後、画面左側「Usage limits」から毎月の課金額の上限を設定しておくことをおすすめします。
上限は「ハードリミット」と「ソフトリミット」の2種類あり、それぞれの意味はこんな感じ。
- ハードリミット → 設定金額に達した時点で利用停止
- ソフトリミット → 設定金額に達した時点で警告メールが届く
高額請求を避けるためにも、本格的に使い始める前に設定しておきましょう。
課金をストップする
課金手続きが完了した後、やっぱり課金をストップしたい場合も簡単に手続きできます。
【Billing overview】のページで「Cancel paid account」をクリック。その後ポップアップでメッセージが表示されるので、「I understand, Cancel」を選択しましょう。