Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

を使用してツールを呼び出す Converse API

フォーカスモード
を使用してツールを呼び出す Converse API - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

モデルにツールを使用してメッセージに対するレスポンスを完了させるには、メッセージと 1 つ以上のツールの定義をモデルに送信します。ツールの 1 つがレスポンスの生成に役立つとモデルが判断した場合、そのツールを使用してツールの結果をモデルに送り返すようリクエストを返します。モデルはその結果を使用して元のメッセージに対するレスポンスを生成します。

次の手順は、 でツールを使用する方法を示しています。Converse API。 コード例については、「」を参照してくださいConverse API ツールの使用例

ステップ 1: メッセージとツールの定義を送信する

メッセージとツールの定義を送信するには、 会話または ConverseStream (ストリーミングレスポンスの場合) オペレーションを使用します。

注記

Meta には、 でツールを使用するプロンプトを作成するための特定の推奨事項があります。Llama 3.1 (またはそれ以降) モデル。詳細については、 の「 JSONベースのツール呼び出し」を参照してください。Meta ドキュメント内) を参照してください。

ツールの定義は、 toolConfig (ToolConfiguration) リクエストパラメータを Converseオペレーションに渡すJSONスキーマです。スキーマの詳細については、「 JSONスキーマ」を参照してください。以下は、ラジオステーションで最も人気のある曲を取得するツールのスキーマの例です。

{ "tools": [ { "toolSpec": { "name": "top_song", "description": "Get the most popular song played on a radio station.", "inputSchema": { "json": { "type": "object", "properties": { "sign": { "type": "string", "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ and WKRP." } }, "required": [ "sign" ] } } } } ] }

同じリクエストで、messages (Message) リクエストパラメータにユーザーメッセージも渡します。

[ { "role": "user", "content": [ { "text": "What is the most popular song on WZPZ?" } ] } ]

を使用している場合 Anthropic Claude 3 モデルでは、 toolConfig リクエストパラメータで toolChoice (ToolChoice) フィールドを指定することで、ツールの使用を強制できます。ツールの使用を強制することは、開発中のツールのテストに役立ちます。以下の例は、[top_song] と呼ばれるツールを強制的に使用する方法を示しています。

{"tool" : {"name" : "top_song"}}

その他に渡せるパラメータについては、「との会話を実行する Converse API オペレーション」を参照してください。

ステップ 2: モデルからツールリクエストを取得する

メッセージとツール定義を使用して Converse オペレーションを呼び出すと、モデルはツール定義を使用して、メッセージに応答するためにツールが必要かどうかを判断します。たとえば、チャットアプリのユーザーが で一番人気のある曲は何ですかWZPZ? というメッセージを送信した場合、モデルはメッセージを top_song ツール定義のスキーマと照合し、ツールがレスポンスの生成に役立つと判断します。

レスポンスを生成するツールが必要であるとモデルが判断した場合、モデルは stopReason レスポンスフィールドを tool_use に設定します。レスポンスでは、モデルで実行したいツール (top_song) と、ツールでクエリを実行するラジオステーション (WZPZ) も識別されます。リクエストされたツールに関する情報は、モデルが output (ConverseOutput) フィールドで返すメッセージにあります。具体的には、 toolUse (ToolUseBlock) フィールドです。toolUseId フィールドは、後の呼び出しでツールリクエストを識別するために使用します。

以下の例は、ステップ 1: メッセージとツールの定義を送信する で説明したメッセージを渡したときの Converse からのレスポンスを示しています。

{ "output": { "message": { "role": "assistant", "content": [ { "toolUse": { "toolUseId": "tooluse_kZJMlvQmRJ6eAyJE5GIl7Q", "name": "top_song", "input": { "sign": "WZPZ" } } } ] } }, "stopReason": "tool_use" }

ステップ 3: モデルのツールリクエストを行う

モデルレスポンスの toolUse フィールドから、name フィールドを使用してツールの名前を識別します。次に、ツールの実装を呼び出し、input フィールドから入力パラメータを渡します。

次に、 toolResult (ToolResultBlock) コンテンツブロックを含むユーザーメッセージを作成します。コンテンツブロックには、ツールからのレスポンスと、前のステップで取得したツールリクエストの ID を含めます。

{ "role": "user", "content": [ { "toolResult": { "toolUseId": "tooluse_kZJMlvQmRJ6eAyJE5GIl7Q", "content": [ { "json": { "song": "Elemental Hotel", "artist": "8 Storey Hike" } } ] } } ] }

存在しないラジオステーションのリクエストなど、ツールでエラーが発生した場合は、toolResult フィールドでモデルにエラー情報を送信することができます。エラーを表示するには、status フィールドに error を指定します。次の例は、ツールがラジオステーションを見つけられない場合のエラーです。

{ "role": "user", "content": [ { "toolResult": { "toolUseId": "tooluse_kZJMlvQmRJ6eAyJE5GIl7Q", "content": [ { "text": "Station WZPA not found." } ], "status": "error" } } ] }

ステップ 4: モデルレスポンスを取得する

前のステップで作成したユーザーメッセージを Converse への呼び出しに含めることで、モデルとの会話を続けます。次に、モデルは、メッセージの toolResultフィールドで指定した情報を使用して、元のメッセージ ( で最も人気のある曲は何ですかWZPZ?) に応答するレスポンスを生成します。

{ "output": { "message": { "role": "assistant", "content": [ { "text": "The most popular song on WZPZ is Elemental Hotel by 8 Storey Hike." } ] } }, "stopReason": "end_turn"
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.