

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 控制如何選擇工具
<a name="speech-tools-choice"></a>

**注意**  
本文件適用於 Amazon Nova 第 1 版。如需 Amazon Nova 2 Sonic 指南，請造訪[工具組態](https://docs.aws.amazon.com/nova/latest/nova2-userguide/sonic-tool-configuration.html)。

Amazon Nova Sonic 支援三種工具選擇參數，以協助您管理工具執行。您可以透過指定 `toolChoice` 參數來控制模型使用的工具。
+ **工具** - `tool` 選項可確保在回應產生開始時恰好呼叫特定具名工具一次。例如，如果您指定知識庫工具，無論模型是否認為需要該工具，模型都會在回應之前查詢此知識庫。
+ **任何** - `any` 選項可確保在回應產生開始時呼叫至少一個可用工具，同時允許模型選取最適當的工具。當您有多個知識庫或工具，並希望確保模型至少利用其中一個而不具體指定哪個時，這會很有用。
+ **自動** - 使用 `auto` 時，模型具有完全的彈性，可判斷在回應產生開始時是否需要任何工具，並視需要呼叫多個工具。這也是預設行為。

如需詳細資訊，請參閱[搭配 Amazon Nova 使用工具](https://docs.aws.amazon.com/nova/latest/userguide/tool-choice.html)。

**多工具序列行為**  
Amazon Nova Sonic 在每個回應週期內以智慧方式處理工具執行。當您使用 `tool` 選項時，模型會先執行指定的工具，然後評估是否需要其他工具，再產生其最終回應。同樣地，當使用 `any` 選項時，模型會先從可用選項中選取並呼叫一個工具，然後決定是否需要額外的工具呼叫，再繼續產生其答案。

在所有情況下，模型都會在單一回應產生週期內管理整個工具執行序列，判斷何時已收集足夠的資訊來產生適當的回應。

請思考下列範例場景：

------
#### [ Knowledge base example ]
+ 當使用 `toolChoice: "knowledge_tool"` 時，模型在回應之前會一律先查詢指定的知識庫，然後可能視需要使用其他工具。
+ 當使用 `toolChoice: "any"` 並有多個知識庫可用時，模型會選取最相關的知識庫、進行查詢，然後可能會在需要時參考其他來源。
+ 當使用 `toolChoice: "auto"` 時，模型可能會針對它能直接回答的問題完全略過知識查詢，也可能針對複雜問題查詢多個知識庫。

------
#### [ Multi-functional assistant example ]
+ 具有天氣、行事曆和知識工具的虛擬助理可以使用 `toolChoice: "auto"`，有彈性地回應各種查詢，只呼叫必要的工具。
+ 使用 `toolChoice: "any"` 可確保一律使用至少一個工具，即使對於模型可能直接回答的查詢亦不例外。

------

若要進一步了解，請參閱[工具選擇](https://docs.aws.amazon.com/nova/latest/userguide/tool-choice.html)。