openai/openai-node
Official JavaScript / TypeScript library for the OpenAI API
OpenAI Node.js / TypeScript SDK
概要
- JavaScriptまたはTypeScriptコードからOpenAI REST APIを呼び出すための公式クライアントライブラリです。
- OpenAIのOpenAPI仕様から生成されているため、SDKはライブAPIのインターフェースを忠実に反映しています。
主な機能
- テキスト生成:新しい Responses APIおよび従来の Chat Completions API経由。
- ビジョン:画像とテキストプロンプトを送信し、説明的な出力を受け取ります。
- ストリーミング:Server‑Sent Eventsとして部分的な結果を受け取ることができ、リアルタイムUIに最適です。
- ファイル処理:ヘルパー関数 (
toFile,toStreamingFile) により、微調整用データのアップロードが容易になります。 - ワークロードアイデンティティ認証:静的なAPIキーの代わりに、Kubernetes、Azure、GCP、またはX.509クライアント証明書からの短命トークンを使用します。
- リアルタイムAPI:WebSocket経由での低遅延かつマルチモーダル(テキスト+音声)な会話が可能で、関数呼び出しもサポートしています。
- Azure OpenAI & Amazon Bedrockアダプター:各クラウドプロバイダーのエンドポイントをそのまま利用可能です。
- 自動ページネーション、リトライ、タイムアウト、キャンセル:適切なデフォルト設定が用意されており、上書きも可能です。
- Webhook検証:OpenAIから送信されたWebhookを検証および解析するための組み込みメソッドを提供します。
一般的なユースケース
- Webアプリやサーバーアプリでのチャットアシスタント、コード生成ツール、その他LLM駆動機能の開発。
- Visionエンドポイントを使用したLLMによる画像処理(OCR、キャプション生成など)。
- 微調整ジョブの実行およびアップロード済みトレーニングファイルの管理。
- Realtime APIを使用した低遅延音声アシスタントのデプロイ。
- ワークロードアイデンティティを使用した、シークレットレス認証によるKubernetesベースのサービスへのOpenAIモデルの統合。
インストール
npm install openai # or use Deno: import OpenAI from 'npm:openai'
クイックスタート (Responses APIを使用したテキスト生成)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY, // optional – falls back to env var
});
const response = await client.responses.create({
model: 'gpt-5.5',
instructions: 'You are a coding assistant that talks like a pirate',
input: 'Are semicolons optional in JavaScript?',
});
console.log(response.output_text);
詳細情報
- メソッド一覧:リポジトリ内の
api.mdを参照。 - サンプルコード:
examples/ディレクトリ(マルチターン会話、ストリーミング、ワークロードアイデンティティなど)。 - 公式APIリファレンス:https://platform.openai.com/docs/api-reference
- 高度なトピックのドキュメント:
docs/realtime.md、docs/azure.md、およびX.509ワークロードアイデンティティガイド。
メンテナンス
- OpenAIによって開発・保守されており、npmで定期的にリリースされています。
すべての詳細はリポジトリのREADMEから直接引用しており、外部からの推測は含まれていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト