中級読了時間 20分·
OpenAI API で初めての AI アプリを作る
基礎を理解したところで、実際にコードを書いてみましょう。このチュートリアルでは Node.js を例に、OpenAI API で最初のチャットリクエストを送り、ストリーミング出力、コスト、エラー処理などの本番運用の詳細を紹介します。
著者:AI Resource Hub
準備
まず OpenAI プラットフォームに登録して API キーを作成し、環境変数に保存します。コードにハードコードしたりリポジトリにコミットしたりしないでください。
export OPENAI_API_KEY="sk-..."SDK のインストール
公式の Node.js SDK を使うのが最も早く始められます:
npm install openai最初のチャットリクエストを送る
以下のコードは gpt-4o-mini にメッセージを送り、返信を出力します。messages 配列が会話履歴を保持し、role は system、user、assistant のいずれかです。
import OpenAI from 'openai';
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const res = await client.chat.completions.create({
model: 'gpt-4o-mini',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Describe large language models in one sentence.' },
],
});
console.log(res.choices[0].message.content);ストリーミング出力を使う
チャットアプリでは通常「逐次表示」効果が求められます。stream を有効にすると生成と同時に受信でき、体験が大きく向上します。
const stream = await client.chat.completions.create({
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: 'Write a short poem about spring' }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}コストとエラー処理
API はトークン単位で課金されるため、適切な max_tokens を設定し使用量を監視してください。小さいモデル(mini シリーズなど)を選ぶとコストを大幅に下げられます。
ネットワークリクエストはタイムアウトやレート制限の可能性があるため、本番環境ではリトライ、タイムアウト、例外処理に加え、ユーザー入力の検証とコンテンツモデレーションが必要です。
OpenAIAPIアプリ開発Node.js