AIP-C01 · 日本語の問題解説

生成AIの遅い応答:ストリーミングとタイムアウトの違い

Learnify学習ノート · 更新:

例題

ある企業は、AIアシスタントを、AWS Amplify、AWS AppSync GraphQL API、およびAmazon Bedrock Knowledge Bases を使用する React アプリケーションとして導入しました。 このアプリケーションは、GraphQL API を使用して、知識ベースのインタラクションのために Amazon Bedrock RetrieveAndGenerate API を呼び出します。 当社は、AWS Lambda リゾルバを RequestResponse 呼び出しタイプを使用するように設定します。 アプリケーションユーザーは、頻繁にタイムアウトし、応答時間が遅いと報告しています。 ユーザーは、処理に時間がかかる複雑な質問に対して、これらの問題をより頻繁に報告します。 会社は、これらのパフォーマンス問題を解決し、ユーザー体験を向上させるためのソリューションを必要としています。 どのソリューションがこれらの要件を満たしますか?

  • A:AWS Amplify AI Kit を使用して、GraphQL API からのストリーミングレスポンスを実装し、クライアント側レンダリングを最適化してください。
  • B:Lambdaリゾルバのタイムアウト値を増加させる。 指数バックオフを用いたリトライロジックを実装してください。
  • C:アプリケーションを更新し、APIリクエストをAmazon SQSキューに送信してください。 AWS AppSync リゾルバーを更新し、キューをポーリングおよび処理してください。
  • D:RetrieveAndGenerate API を InvokeModelWithResponseStream API に変更してください。 アプリケーションを更新し、ストリーミング応答をサポートするために、Amazon API Gateway WebSocket API を使用してください。

正解と元の解説

正解:A

A:AI Kit の対応ストリーミング経路と逐次描画で体感を改善します。ただし従来の RequestResponse resolver が自動でストリーム化するわけではありません。Lambda の期限だけ延ばしても他の期限は残り、モデル直接呼び出しは知識検索の代替でもありません。

見分けるポイント

利用者が最初の情報を受け取るまでの時間と、処理全体が完了するまでの時間は同じではありません。逐次表示は体感の改善につながりますが、既存の同期経路をそのまま残しても自動的にストリーミングへ変わるわけではありません。検索を含む元の要件も残したまま考えます。

考える順序

  1. ブラウザから生成処理までの各区間が逐次応答に対応するか確認する。
  2. 一つのタイムアウトだけを延ばして、他の区間の制限を見落とさない。
  3. モデルの直接呼び出しへ置き換えると、必要な知識検索が失われないか確認する。