1分でできるNode.jsでChatGPT (OpenAI) APIを使う方法

Node.jsでChatGPTを使用するには

Node.jsでChatGPTを使用するにはAPI KEYの取得が必要ですので、あらかじめ取得しておいてください。

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

Node.jsでChatGPTを使用する例として、以下のコマンドでchatgptフォルダを作成してNode.jsでChatGPTに必要なものをインストールします。

※ importを使用するために.mjsを使用していますが、requireを使うなら.jsでも良いです。

mkdir chatgpt; cd chatgpt; touch example.mjs .env; npm init -y; npm i -D chatgpt dotenv;

作成したら.envの中にAPI KEYを以下のように書いて保存してください。

sk-XXXXXXXXの部分は取得したAPI KEYに変えてください。

OPENAI_API_KEY=sk-XXXXXXXX

次にexample.mjsを以下のようにしてAPI KEYを取得できているか確認します。

import 'dotenv/config'

console.log(process.env.OPENAI_API_KEY)

問題なければあとは以下のように書けば「node example.mjs」を実行するだけでChatGPTに送信したメッセージの回答を受け取れるようになります。

import 'dotenv/config'
import { ChatGPTAPI } from 'chatgpt'

async function example() {
  const api = new ChatGPTAPI({
    apiKey: process.env.OPENAI_API_KEY,
  })
  const res = await api.sendMessage('日本の首都はどこ')
  console.log(res.text)
}

example()

ちなみに結果は一文字ずつではなく一括で表示されます。

質問内容によっては実行しても一括で結果を出す関係上、すべて表示されるまで時間がかかります。

GPT-4も招待を受けているなら使用可能

2023年6月現在はデフォルトがGPT-3.5ですが、オプションでmodeを設定すればGPT-4も使用可能です。(GPT-4のAPI KEYは招待制なので全員が使えるわけではない)

const api = new ChatGPTAPI({
  apiKey: process.env.OPENAI_API_KEY,
  completionParams: {
    model: 'gpt-4',
  }
})

npx chatgptで直接APIを使用する方法

.mjs (.js) にChatGPTに送信内容を書かず、直接ターミナル上に書いて実行したい場合は、sourceでAPI KEYの書かれている.envを読み込んで、最後に送信内容を書いて実行します。

source ./.env; npx chatgpt@latest --apiKey $OPENAI_API_KEY "アメリカの首都は"
アメリカの首都はワシントンD.C.です。