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から直接引用しており、外部からの推測は含まれていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト