at backyard

Color my life with the chaos of trouble.

ChatGPTでHello Worldするまで(Node.js)

ChatGPTのAPIHello worldするまでの備忘録。

といっても思ったよりも簡単だった。

なお、Open AIのアカウントはChatGPTを利用するためにすでに作成済みだったので、アカウント作成はすでにしてある前提。

またChatGPT APIの詳細な内容なども省略する。

ChatGPT APIで利用するキーの発行方法

以下のリンクにアクセスしてログインする。

https://platform.openai.com/account/api-keys

すると、キー作成画面が出てくるので、Create new secret key のボタンを押すことでキーが発行できる。

これでキー発行は完了。簡単すぎる...

ChatGPT APIの利用料とお試し用のクレジットについて

ChatGPT APIは有償のサービスだが、なんとFree trialが用意されていて、$18文が利用できるようだった(※有効期限付きなので注意)

クレジットや有効期限などはアカウントメニューの manage account というところから確認ができる。

なお、ChatGPT APIのpricingは以下となる。
( $0.002 / 1K tokens )

openai.com

Node.jsでHello worldだけ実施する

ひとまず一度動かしてみたかったので、下記のドキュメント見ながら実行してみた。

https://platform.openai.com/docs/api-reference/chat/create

画面の右上部分にサンプルコードの言語を切り替えるボタンがあるので、こちらをNode.jsに変更してサンプルをコピーする。

サンプルコードの右上辺りに切り替えるドロップダウンリストがある

また実行の際には下記のnpmパッケージを入れる必要がある。

www.npmjs.com

Hello worldを実行するまでの作業ログ

ここからは実際に行ったことの作業ログ。
適当な作業ディレクトリで作業している。

# プロジェクトのセットアップとopenaiのインストール
npm init -y
npm install --save openai

# ファイル作成。ひとまずcommon.jsで書いていく
touch main.js

main.js の中身
内容はOpenAIのドキュメントを引っ張ってきただけだが、CommonJS形式で動かすために少しいじっている。
CommonJSで動かそうと思ったのには特に理由はない。

const { Configuration, OpenAIApi } = require("openai");

(async () => {
    const configuration = new Configuration({
        apiKey: process.env.OPENAI_API_KEY,
    });
    const openai = new OpenAIApi(configuration);

    const completion = await openai.createChatCompletion({
        model: "gpt-3.5-turbo",
        messages: [{ role: "user", content: "Hello world" }],
    });

    console.log(completion.data.choices[0].message);
})();

あとは先程取得したキーを使って以下のように実行するだけ。

OPENAI_API_KEY=**** node main.js

以下のようなレスポンスが返ってくるのが確認できる。

{
  role: 'assistant',
  content: '\n\nHello! How can I assist you today?'
}

これでひとまずhello worldまでやれた。

APIキーの取得は簡単だし、試してみようと思った際の敷居が低いのは大変良い。