無限ノック › AIP 練習問題一覧 › 問題
AIP生成AIアプリケーションの運用効率と最適化

あるSaaS企業が、Amazon BedrockでClaude 3.5 Sonnet・Meta Llama 3 70B・Amazon Nova Proを使い分ける多機能チャットボットを開発しています。現在の実装ではモデルごとに異なるリクエスト/レスポンス構造を解析するアダプタークラスをInvokeModel APIで個別に実装しており、新モデル追加のたびにアダプター実装が必要となり保守コストが増大しています。モデル追加時のコード変更を最小化しながら、マルチターン会話・ツール使用・ストリーミングをすべてサポートする実装に変更するには何をすべきですか?

A
AWS SDKのラッパーライブラリを自社開発し、各モデルのInvokeModel API呼び出しをアプリケーション層で抽象化する
AWS SDKのラッパーライブラリ自社開発は、Converse APIと同等の抽象化を独自に実装することになり、開発・保守コストが高止まります。
B
Amazon Bedrock Converse APIに移行する。このAPIはサポートされる全モデルに対して統一されたリクエスト/レスポンス形式を提供し、マルチターン会話・ツール使用・ConverseStreamによるストリーミングをネイティブサポートする
✓ 正解
Amazon Bedrock Converse APIは、サポートされる全基盤モデルに対して統一されたインターフェースを提供します。InvokeModel APIではモデルごとに異なるリクエスト/レスポンス形式(例:ClaudeはAnthropic形式、LlamaはMeta形式)を個別にパースする必要がありますが、Converse APIでは単一の標準化されたmessages配列・role形式が使用でき、新モデル追加時もAPIコール部分の変更は不要です。マルチターン会話(messages履歴)、ツール使用(toolConfig)、ストリーミング(ConverseStream API)もネイティブサポートしています。
C
AWS Lambdaレイヤーにモデルごとのパーサーを実装し、Lambda内でモデル別処理を統一する
AWS Lambdaレイヤーへのパーサー移動は、コードの場所を変えるだけで、モデル別パーサーの保守負担は変わりません。
D
Amazon Bedrock Batch Inferenceを使用し、モデルごとのリクエスト処理を非同期パイプラインに変更する
Amazon Bedrock Batch Inference は、リアルタイム応答が不要な大量非同期処理向けであり、インタラクティブなチャットボット用途には不適切です。

解説

Amazon Bedrock Converse APIは、サポートされる全基盤モデルに対して統一されたインターフェースを提供します。InvokeModel APIではモデルごとに異なるリクエスト/レスポンス形式(例:ClaudeはAnthropic形式、LlamaはMeta形式)を個別にパースする必要がありますが、Converse APIでは単一の標準化されたmessages配列・role形式が使用でき、新モデル追加時もAPIコール部分の変更は不要です。マルチターン会話(messages履歴)、ツール使用(toolConfig)、ストリーミング(ConverseStream API)もネイティブサポートしています。 選択肢Aの AWS SDKのラッパーライブラリ自社開発は、Converse APIと同等の抽象化を独自に実装することになり、開発・保守コストが高止まります。 選択肢Cの AWS Lambdaレイヤーへのパーサー移動は、コードの場所を変えるだけで、モデル別パーサーの保守負担は変わりません。 選択肢Dの Amazon Bedrock Batch Inference は、リアルタイム応答が不要な大量非同期処理向けであり、インタラクティブなチャットボット用途には不適切です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでAIPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← AIP の問題一覧に戻る