翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ツールは、API コールやコード関数などの外部機能を Amazon Nova に提供する方法です。このセクションでは、Amazon Nova モデルを使用する際にツールを定義して統合する方法について説明します。
ツールの使用には、3 つの大まかなステップがあります。
-
ユーザークエリ - Amazon Nova が使用できるツールを定義するには、各ツールの機能および入力要件を記述する JSON スキーマを指定します。
-
ツールの選択 - ユーザーがメッセージを送信すると、Amazon Nova はそれを分析して、レスポンスを生成するためにツールが必要かどうかを判断します。これは
Auto
ツールの選択と呼ばれます。詳細については、「ツールの選択」を参照してください。Amazon Nova が適切なツールを特定すると、「ツールを呼び出す」と、使用するツールの名前とパラメータが返されます。開発者は、モデルのリクエストに基づいてツールを実行する責任があります。つまり、ツールの機能を呼び出し、モデルによって提供される入力パラメータを処理するコードを記述する必要があります。
注記
すべての LLM レスポンスと同様に、Amazon Nova はツール呼び出しをハルシネーションする可能性があります。開発者は、ツールが存在し、入力が正しくフォーマットされ、適切なアクセス許可がすでに設定されていることを確認する責任があります。
-
結果の返す - ツールを実行したら、構造化された形式で結果を Amazon Nova に送信する必要があります。有効な形式には、JSON またはテキストとイメージの組み合わせが含まれます。これにより、Amazon Nova はツールの出力をユーザーへの最終レスポンスに組み込むことができます。
ツールの実行中にエラーが発生した場合は、これを Amazon Nova へのツールレスポンスで示し、Amazon Nova がそれに応じてレスポンスを調整できるようにします。
計算ツールの簡単な例を考えてみましょう。
ツール呼び出しワークフローの最初のステップは、数式 - 10 倍 5 の結果に対する Amazon Nova へのユーザークエリです。このクエリは、計算ツールを表すツール仕様とともに、プロンプトとして Amazon Nova に送信されます。
user_query = "10*5"
messages = [{
"role": "user",
"content": [{"text": user_query}]
}]
tool_config = {
"tools": [
{
"toolSpec": {
"name": "calculator", # Name of the tool
"description": "A calculator tool that can execute a math equation", # Concise description of the tool
"inputSchema": {
"json": {
"type": "object",
"properties": {
"equation": { # The name of the parameter
"type": "string", # parameter type: string/int/etc
"description": "The full equation to evaluate" # Helpful description of the parameter
}
},
"required": [ # List of all required parameters
"equation"
]
}
}
}
}
]
}
Amazon Nova では、Invoke API と Converse API の両方でツールを使用できますが、フル機能の範囲では Converse API を使用することをお勧めします。今後は、この API で例を使用します。