Open AI (ChatGPT)
🇯🇵 Japanese
  • 🇺🇸 English
  • 🇯🇵 Japanese
  • 🇵🇹 Portuguese
  • 🇰🇷 Korea
  • 🇩🇪 German
    Open AI (ChatGPT)
    🇯🇵 Japanese
    • 🇺🇸 English
    • 🇯🇵 Japanese
    • 🇵🇹 Portuguese
    • 🇰🇷 Korea
    • 🇩🇪 German
    • README
    • はじめに
    • 認証
    • リクエスト作成
    • ストリーミング
    • 要求のデバッグ
    • 下位互換性
    • 行政
    • オーディオ
      • 音声を作成する
        POST
      • 文字起こしを作成する
        POST
      • 翻訳を作成
        POST
    • チャット
      • チャット補完の作成
        POST
    • 埋め込み
      • 埋め込みの作成
        POST
    • ファインチューニング
      • ファインチューニングモデルの削除
        DELETE
      • ファインチューニングイベントの一覧取得
        GET
      • ファインチューニングのキャンセル
        POST
      • ファインチューニングの取得
        GET
      • ファインチューニングの一覧取得
        GET
      • ファインチューニングの作成
        POST
    • バッチ
      • バッチの作成
        POST
      • バッチの取得
        GET
      • バッチのキャンセル
        POST
      • リストバッチ
        GET
    • ファイル
      • README
      • ファイルの取得
        GET
      • ファイルの削除
        DELETE
      • ファイル一覧の取得
        GET
      • ファイル内容の取得
        GET
      • ファイルのアップロード
        POST
    • アップロード
      • アップロードを作成
      • アップロード部分を追加
      • アップロードを完了する
    • 画像
      • README
      • 画像バリエーションの作成
      • 画像編集の作成
      • 画像の作成
    • モデル
      • モデル取得
      • モデル一覧
      • 微調整されたモデルを削除する
    • モデレーション
      • モデレーションの作成
    • 招待
      • 招待のリストを表示する
      • 招待状の作成
      • 招待状を取得する
      • 招待を削除する
    • ユーザー
      • ユーザーをリストする
      • ユーザーの変更
      • ユーザーの取得
    • プロジェクト
      • プロジェクトの一覧表示
      • プロジェクトの作成
      • プロジェクトの取得
      • プロジェクトの変更
      • アーカイブプロジェクト
    • プロジェクトのユーザー
      • プロジェクトユーザーをリストする
      • プロジェクトユーザーの作成
      • プロジェクトユーザーの取得
      • プロジェクトユーザーを変更する
      • プロジェクトユーザーの削除
      • プロジェクトサービスアカウントを作成する
    • プロジェクトサービスアカウント
      • プロジェクト サービス アカウントの一覧表示
      • プロジェクトサービスアカウントを作成する
      • プロジェクトのサービスアカウントを取得する
      • プロジェクト サービス アカウントを削除する
    • プロジェクト API キー
      • プロジェクト API キーの一覧表示
      • プロジェクトのAPIキーを取得する
      • プロジェクトのAPIキーを削除する
    • プロジェクトのレート制限
      • プロジェクトのレート制限を一覧表示する
      • プロジェクトのレート制限を変更する
    • 監査ログ
      • 監査ログの一覧表示
    • 使い
      • 完了
      • 埋め込み
      • モデレーション
      • 画像
      • オーディオスピーチ
      • 音声トランスクリプション
      • ベクトルストア
      • コードインタープリターセッション
      • コスト
    • 補完
      • 補完の作成
    • アシスタント(v1)
      • アシスタントを作成 (v1)
      • アシスタントファイルの作成(v1)
      • アシスタントのリスト (v1)
      • アシスタント ファイルの一覧表示 (v1)
      • 取得アシスタント (v1)
      • アシスタントの変更 (v1)
      • アシスタントの削除 (v1)
      • アシスタントファイルの削除(v1)
    • スレッド(v1)
      • スレッドの取得 (v1)
      • スレッドの作成 (v1)
      • スレッドの変更 (v1)
      • スレッドの削除 (v1)
    • メッセージ (v1)
      • メッセージの作成 (v1)
      • メッセージのリスト (v1)
      • メッセージ ファイルのリスト (v1)
      • メッセージの取得 (v1)
      • メッセージファイルの取得(v1)
      • メッセージの変更 (v1)

    ストリーミング

    OpenAI API は、特定の要求に対して部分的な結果を許可するために、応答をクライアントにストリーミングする機能を提供します。これを実現するために、サーバー送信イベントの標準に従います。公式の Node ライブラリと Python ライブラリには、これらのイベントの解析をより簡単にするためのヘルパーが含まれています。
    ストリーミングは、Chat Completions API と Assistants API の両方でサポートされています。このセクションでは、チャット完了のストリーミングの仕組みに焦点を当てます。アシスタントAPIでのストリーミングのしくみの詳細については、こちらをご覧ください。
    Python では、ストリーミングリクエストは次のようになります。
    from openai import OpenAI
    
    client = OpenAI()
    
    stream = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": "Say this is a test"}],
        stream=True,
    )
    for chunk in stream:
        if chunk.choices[0].delta.content is not None:
            print(chunk.choices[0].delta.content, end="")
    Node / Typescriptでは、ストリーミングリクエストは次のようになります。
    import OpenAI from "openai";
    
    const openai = new OpenAI();
    
    async function main() {
        const stream = await openai.chat.completions.create({
            model: "gpt-4o-mini",
            messages: [{ role: "user", content: "Say this is a test" }],
            stream: true,
        });
        for await (const chunk of stream) {
            process.stdout.write(chunk.choices[0]?.delta?.content || "");
        }
    }
    
    main();

    サーバー送信イベントの解析#

    サーバーから送信されたイベントの解析は簡単ではなく、注意して行う必要があります。改行で分割するなどの単純な戦略では、解析エラーが発生する可能性があります。可能な場合は、既存のクライアントライブラリを使用することをお勧めします。
    Previous
    リクエスト作成
    Next
    要求のデバッグ
    Built with