はじめに
表題の通り試しに触ってみたが、検索して出てきた記事では書き方が古いものが多かったので現時点での実装を書いておく。
使用したのは以下のライブラリで、バージョンは v4.24.2 を使用した。
GitHub - openai/openai-node: Official JavaScript / TypeScript library for the OpenAI API
  Official JavaScript / TypeScript library for the OpenAI API - openai/openai-node
  v3 から v4 へのマイグレーションガイドはこちら。メソッド自体やその使い方に変更があるので、新しいバージョンを利用する場合はこちらを参照すればいいと思う。
v3 to v4 Migration Guide · openai/openai-node · Discussion #217
  v4 is a complete rewrite of the SDK. To see what's new, see the release notes. Installation First, update your package.json to specify v4: "openai": "^4.0.0" and run npm install or equivalent to do...
  サンプルコード
main.ts
import OpenAI from 'openai';
const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY
});
async function main() {
  try {
    const stream = await openai.chat.completions.create({
      model: 'gpt-3.5-turbo',
      stream: true,
      // prompt: "TypeScript で Hello World を書いてください。"
      messages: [
        {
          role: 'user',
          content: 'TypeScript で Hello World を書いてください。'
        }
      ]
    });
    for await (const chunk of stream) {
      process.stdout.write(chunk.choices[0].delta?.content || '');
    }
  } catch (error) {
    throw new Error(error as string);
  }
}
main().catch((e) => console.error(e));
上記のコードを保存して実行すると以下のような結果が得られる。
パラメータの model は好きなものを選ぶと良い。1
$ ts-node ./src/main.ts
以下は、TypeScriptでHello Worldを表示するサンプルコードです。
\`\`\`
const message: string = "Hello, World!";
console.log(message);
\`\`\`
これを、`.ts`拡張子のファイルに保存し、TypeScriptコンパイラでコンパイルした後、JavaScriptファイルとして実行すると、"Hello, World!"というメッセージが表示されます。%
もし 429 エラーとなる場合は、支払い方法などを設定できていない可能性があるので、事前に設定してから API キーを発行しておく必要がある。参考にした記事をいくつか貼っておく。
https://help.openai.com/en/articles/6891831-error-code-429-you-exceeded-your-current-quota-please-check-your-plan-and-billing-details
  
  OpenAI APIのエラー(openai.error.RateLimitError)について - Qiita
  エラー発生状況 OpenAI APIのアカウントを作成してAPIキーを発行し、PythonでChatGPT APIを使おうとしたときに以下のエラーが発生しました。 Ubuntu File "/usr/local/lib/python3.10/site-package...
   
  OpenAIでRateLimitErrorが出たときの対応方法 日本語訳
  masaki moriさんのスクラップ