Bedrock Agents
エージェント機能をフルマネージドで提供し、
『API呼び出しやRAGから情報を引き出し、取得した情報を用いてユーザーからの指示やタスクに返答することができる』
マルチステップタスク
Bedrockを利用して、アプリケーション内で自律的にタスクを実行し、ユーザーとの対話を通じて組織のデータに基づいたアクションを実行する機能のことです。
複数のシステムやデータソースにまたがる複雑なタスクを効率的に処理するよう設計されています。
設定方法
数ステップで Bedrock でエージェントを作成できるため、生成 AI アプリケーションを構築するのにかかる時間を短縮できます。
- 最初にモデルを選択し、自然言語でいくつかの指示を記述します。
- 例: 「あなたは在庫システムで製品の在庫状況を判断する在庫管理エージェントです」。
- エージェントはタスクを調整して分析し、FMの推論機能を使用して正しい論理シーケンスに分解します。
エージェントは、必要な API を自動的に呼び出して会社のシステムやプロセスとやり取りして要求に応え、処理を進めることができるかどうか、またはさらに情報を収集する必要があるかどうかを判断します。
Lambda関数
Bedrockのエージェントが実行するアクションの実態は、AWS Lambda関数です。
エージェントは、以下のプロセスを通じてLambda関数を呼び出します。
- ユーザーからのリクエストを解析: 生成系AIがリクエストを理解し、実行すべきアクションを特定します。
- アクション実行: エージェントは事前に設定されたLambda関数を呼び出し、リクエストに応じた処理を実行します。
- 応答の生成: Lambda関数が返した結果を基に、ユーザーに応答を生成します。
ステップ
- ユーザーのリクエストに基づいてデータベースから情報を取得します。
- APIを呼び出して外部システムと連携します。
- 計算やデータ変換などの処理を動的に実行します。
API 呼び出し
Python SDK を用いてモデルを呼び出す API を実装する場合、
- InvokeModel
を使用します。
このメソッドを使って、テキストや画像などの入力データをモデルに渡し、生成された結果を取得します。
<抜粋>
*# Convert the native request to JSON.*
request = json.dumps(native_request)
try:
*# Invoke the model with the request.*
response = brt.invoke_model(modelId=model_id, body=request)
except (ClientError, Exception) as e:
print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
exit(1)