AIP生成AIアプリケーションの運用効率と最適化
あるフィンテック企業が、複数の基盤モデル(Claude 3 Sonnet・Amazon Titan Text Premier・Meta Llama 3)を切り替えて使用できる多目的AIアシスタントを構築しています。
要件は以下の4点です。
(1)マルチターン会話履歴の管理
(2)ツール使用(関数呼び出し)のサポート
(3)ストリーミングレスポンス
(4)モデル切り替え時のアプリケーションコード変更の最小化
最も適切なBedrock APIの選択はどれですか?
AInvokeModel APIを使用し、各プロバイダーの固有プロンプト形式(Anthropic Messages形式・Titan形式・Llama形式等)に対応したアダプタークラスをアプリケーション内に実装する
InvokeModel APIはClaudeのAnthropic形式やTitan固有形式など各モデルのネイティブ形式に個別対応が必要で、モデル切り替え時のアプリケーションコード変更が大きくなります。
BBedrock Converse API(ストリーミングにはConverseStream API)を使用し、統一されたmessages配列形式で全モデルを呼び出す
✓ 正解
Bedrock Converse APIは複数の基盤モデルに対して統一インターフェースを提供します。単一のmessages配列形式でマルチターン会話履歴を管理し、tool_use/tool_resultブロックによるツール使用もサポートします。ConverseStream APIでストリーミングにも対応でき、4つの要件をすべて最小限のコードで実現できます。
CAWS AppSyncのJavaScriptリゾルバーでモデルごとのInvokeModel呼び出しを抽象化し、GraphQL APIで統一インターフェースを提供する
AWS AppSyncはフロントエンド向けGraphQL APIサービスであり、Bedrockモデル呼び出しの抽象化に転用すると不要な複雑性が加わります。
DAmazon Lexをフロントエンドとして使用してマルチターン管理を委譲し、バックエンドのBedrockモデル呼び出しはLambdaで行う
Amazon Lexは会話型チャットボット構築向けサービスであり、複数基盤モデルの切り替えやツール使用のサポートには適していません。
解説
Bedrock Converse APIは複数の基盤モデルに対して統一インターフェースを提供します。単一のmessages配列形式でマルチターン会話履歴を管理し、tool_use/tool_resultブロックによるツール使用もサポートします。ConverseStream APIでストリーミングにも対応でき、4つの要件をすべて最小限のコードで実現できます。
選択肢AのInvokeModel APIはClaudeのAnthropic形式やTitan固有形式など各モデルのネイティブ形式に個別対応が必要で、モデル切り替え時のアプリケーションコード変更が大きくなります。
選択肢CのAWS AppSyncはフロントエンド向けGraphQL APIサービスであり、Bedrockモデル呼び出しの抽象化に転用すると不要な複雑性が加わります。
選択肢DのAmazon Lexは会話型チャットボット構築向けサービスであり、複数基盤モデルの切り替えやツール使用のサポートには適していません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでAIPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →