

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

# 對工具呼叫進行疑難排解
<a name="prompting-tool-troubleshooting"></a>

在使用工具和 Amazon Nova 模型時，您可能會看到不同的錯誤。以下是一些可協助您進行疑難排解的範例和秘訣。

## 模型錯誤例外狀況
<a name="troubleshooting-model-error"></a>

`An error occurred (ModelErrorException) when calling the Converse operation: The model produced an invalid sequence as part of ToolUse. Please refer to the model tool use troubleshooting guide.`

**驗證您的推論參數** - 當使用貪婪解碼時，Amazon Nova 模型呼叫工具的成功率更高。若要啟用貪婪解碼，請將溫度參數設定為 0。

```
inferenceConfig={
    "temperature": 0
}

additionalModelRequestFields={"inferenceConfig": {"topK": 1}}
```

**增加詞元計數上限** - 工具輸出通常需要較大的詞元輸出，確保設定的最大詞元數足以容納預期的傳回結構描述。如果模型回應大於詞元計數上限，則會觸發例外狀況。您可以在 `inferenceConfig` 參數中設定詞元上限：

```
inferenceConfig={
    "maxTokens": 3000
}
```

**檢閱系統提示詞** - 為了改善工具呼叫的準確性，Amazon Nova 會在呼叫工具時使用思維鏈推理。您會在回應的 <thinking> 標籤中看到此輸出。我們建議不要嘗試移除此功能。相反地，如果您的應用程式不需要該輸出，建議您將其捨棄。

## 驗證例外狀況
<a name="troubleshooting-validation-exception"></a>

`An error occurred (ValidationException) when calling the Converse operation`

傳遞的工具組態不符合必要的慣例。如需所有參數的規格，請參閱 [Converse API 規格](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/bedrock-runtime/client/converse.html)。

## 工具沒有如預期傳回
<a name="troubleshooting-tool-not-returned"></a>

如果模型似乎忽略了工具，請確保您遵循了工具組態的正確 JSON 結構描述：
+ 最上層結構描述必須是[物件](https://json-schema.org/understanding-json-schema/reference/object)類型
+ 最上層物件中僅支援三個欄位 - `type` (必須設定為「物件」)、`properties` 和 `required`
+ 最上層常見的不支援欄位包括：`$schema`、`description`、`title` 和 `additionalProperties`

如果工具沒有如預期傳回，建議使用 `tool_choice` API 參數。
+ **工具**：指定的工具會被呼叫一次。

  ```
  {
     "toolChoice": {
          "tool": {
              "name": "name_of_tool"
          }
      }
  }
  ```
+ **任意**：其中一個提供的工具會至少被呼叫一次。

  ```
  {
     "toolChoice": {
          "any": {}
      }
  }
  ```