今改めて考えるストリーミングレスポンス

438 Views

May 19, 26

スライド概要

2026/05/19 「Postman API Night Nagoya 2026 Spring」
https://postman.connpass.com/event/385101/

profile-image

Engineer / AWS Community Builder / LINE API Expert / JAWS UG名古屋 運営 GIthub: http://github.com/Miura55 Blog: http://supernove.hatenadiary.jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

今改めて考えるストリーミングレスポンス Koki Miura(@k_miura_io)

2.

自己紹介 • 三浦 耕生(こうき) • エンジニア • 俺の勉強会 運営 • JAWS UG名古屋&神戸 運営 • 鯱.py 運営 @k_miura_io koki.miura05

4.

ストリーミングレスポンスとは? • サーバーからのレスポンスを一度に返すので はなく、用意できたものから順次レスポンスを 返す仕組み • HTTPのレスポンス • LLMエージェントで注目されている技術

5.

挙動の違い 通常 ストリーミング

6.

Websocketとの違い 項目 ストリーミングレスポンス(HTTP Streaming / SSE など) WebSocket 接続方向 主にサーバー → クライアント 双方向(クライアント 認証 HTTP認証がそのまま使いやすい(Cookie, Bearer Token, 接続時に認証が必要。JWTやCookieを使うことが多い Sessionなど) 再接続 通常のHTTPリクエストとして再実行 切断時に再接続処理が必要 サーバー負荷 比較的軽い 接続維持コストが高め 代表技術 SSE(Server-Sent Events), chunked response WebSocket protocol 向いているユースケース AIチャットの逐次生成、ログ配信、進捗通知 チャット、オンラインゲーム、共同編集、リアルタイム操作 サーバー)

7.

実装のポイント(LLMと 連携したAPIの例) • LLMからの返答で生成され たものからfor文を利用して 順次返答するようにする • Pythonであればyieldで実現 可能 • FastAPIだとServer-Sent Events(SSE)に対応したレス ポンスクラスが用意されて いるので実装自体がとても シンプルになる

8.

(参考)実装の比較 同期的なレスポンスのエンドポイント ストリーミングレスポンス

9.

レスポンスの中身 • レスポンスの中身はJSON に近いが、【text/eventstream】という形式で返答さ れる • EventSource APIを備えた ブラウザでサポートされて いる形式

10.

SSEのデバッグならPostman • PostmanでSSEに対応したAPIをリクエスト するとレスポンスが逐次表示されるように なる • 接続の開始・終了を見ることができてスト リーミングレスポンスのデバッグが楽

11.

DEMO

12.

まとめ • ストリーミングレスポンスを使うと時間のかかるレスポンスを逐次返すことができる • Websocketと違い常時接続を維持する必要が無いのでLLMのチャットと相性が 良い • Postmanならストリーミングレスポンスのテストがやりやすい AIチャットのUX向上の重要な要素の一つ

13.

ソースコード https://github.com/Miura55/claude-stream-sample-api

14.

END