UIでのAIレスポンスのストリーミング
AIの出力をトークン単位でフロントエンドへストリーミングし、長い生成中も停止したように見えず、AI SaaSを高速で応答性の高いものにする方法を学びます。
「UIでのAIレスポンスのストリーミング」はCoddyKit上の無料AI SaaS Builderレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI SaaS Builder学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI SaaS Builderコースには全4レッスンが含まれています。
ストリーミングがUXを改善する理由
完全な回答を10秒待つのは、壊れているように感じられます。ストリーミングを使うと、生成されたテキストが順次表示されるため、アプリが速く生き生きと感じられます。
ストリーミングの仕組み
モデルはtokensを少しずつ出力します。サーバーは各チャンクをブラウザーに転送し、ブラウザーは画面に追加します。
Server-Sent Events
SSEは、HTTP経由でサーバーからクライアントへ一方向にデータを送るシンプルなストリームで、トークンのストリーミングに適しています。
res.setHeader('Content-Type', 'text/event-stream')
res.write('data: Hello\n\n')
res.write('data: world\n\n')クライアントでストリームを利用する
Fetchのストリーミングリーダー(またはEventSource)を使ってチャンクを読み取り、到着するたびに状態を更新しましょう。
const reader = res.body.getReader()
while (true) {
const { value, done } = await reader.read()
if (done) break
appendText(new TextDecoder().decode(value))
}段階的にレンダリングする
チャンクを状態バッファーに追加してレンダリングします。UIを滑らかに保つため、トークンごとにページ全体を再レンダリングするのは避けてください。
setText(prev => prev + chunk)入力中インジケーターを表示する
最初のトークンが到着する前に、処理が始まったことをユーザーに知らせるため、loading表示やカーソルアニメーションを表示しましょう。
キャンセルに対応する
ユーザーが長い生成処理を停止できるようにしましょう。リクエストを中断すれば、トークンと費用を節約できます。
const controller = new AbortController()
fetch('/generate', { signal: controller.signal })
// stop button:
controller.abort()Markdownを安全にストリーミングする
不完全なMarkdownは、ストリーミングの途中で正しく表示されないことがあります。段階的にレンダリングしつつ、インジェクションを防ぐため、最終的なHTMLをサニタイズしてください。
ストリーム途中のエラー処理
ストリームは途中で失敗することがあります。壊れたストリームを検出し、途切れたテキストを残すのではなく、明確な再試行オプションを表示しましょう。
アクセシビリティに関する考慮事項
頻繁に更新されるテキストは、スクリーンリーダーを圧倒する可能性があります。polite なライブリージョンを使用し、すべてのトークンではなく完了時に通知してください。
<div aria-live="polite">{streamedText}</div>ストリーミングを使わない場合
短く構造化された出力(単一の JSON オブジェクトなど)では、ストリーミングはメリットがほとんどない一方で複雑さが増します。長く、人間が読むテキストに限定して使用してください。
クイックチェック
ストリーミングに関する知識を確認しましょう。
まとめ
トークンストリーミングの仕組み、SSE による配信方法、クライアントでの受信、段階的な描画、入力中インジケーターの表示、キャンセルへの対応、ストリーミング途中のエラー処理、アクセシビリティの確保、そしてストリーミングを使う価値がない場合について学びました。
よくある質問
「UIでのAIレスポンスのストリーミング」レッスンは無料ですか?
はい。「UIでのAIレスポンスのストリーミング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI SaaS Builderコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI SaaS Builderコースには全4レッスンが含まれています。
「UIでのAIレスポンスのストリーミング」で何を学びますか?
AIの出力をトークン単位でフロントエンドへストリーミングし、長い生成中も停止したように見えず、AI SaaSを高速で応答性の高いものにする方法を学びます。 ブラウザで直接実行するハンズオンコードでAI SaaS Builderを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI SaaS Builderを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI SaaS Builderは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「UIでのAIレスポンスのストリーミング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI SaaS Builderレッスンでコードを書いて実行できますか?
はい。すべてのAI SaaS Builderレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- SaaS向けフロントエンドフレームワーク
- AI出力の可視化
- ユーザー体験(UX)のベストプラクティス
- UIでのAIレスポンスのストリーミング