はじめに
表題の通り試しに触ってみたが、検索して出てきた記事では書き方が古いものが多かったので現時点での実装を書いておく。
使用したのは以下のライブラリで、バージョンは v4.24.2 を使用した。
GitHub - openai/openai-node: The official Node.js / Typescript library for the OpenAI API
The official Node.js / Typescript library for the OpenAI API - openai/openai-node
v3 から v4 へのマイグレーションガイドはこちら。メソッド自体やその使い方に変更があるので、新しいバージョンを利用する場合はこちらを参照すればいいと思う。
github.com
サンプルコード
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 キーを発行しておく必要がある。参考にした記事をいくつか貼っておく。
help.openai.com
OpenAI APIのエラー(openai.error.RateLimitError)について - Qiita
エラー発生状況OpenAI APIのアカウントを作成してAPIキーを発行し、PythonでChatGPT APIを使おうとしたときに以下のエラーが発生しました。 File "/usr/local/…
![OpenAI APIのエラー(openai.error.RateLimitError)について - Qiita](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9T3BlbkFJJTIwQVBJJUUzJTgxJUFFJUUzJTgyJUE4JUUzJTgzJUE5JUUzJTgzJUJDJTI4b3BlbmFpLmVycm9yLlJhdGVMaW1pdEVycm9yJTI5JUUzJTgxJUFCJUUzJTgxJUE0JUUzJTgxJTg0JUUzJTgxJUE2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0yODFlYWIyNjRmNTEyODUwY2MxN2YxMTNlNDZhMDU0ZQ&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBrb3RhdHRzdTMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPThmOGI2NzM3Mjg5YTM2MDlmNzE2ZTc2NzFjMGY4NTli&blend-x=142&blend-y=486&blend-mode=normal&s=0c23e0a3137661353c45a064f1e450c9)
OpenAIでRateLimitErrorが出たときの対応方法 日本語訳