對工具呼叫進行疑難排解 - Amazon Nova

對工具呼叫進行疑難排解

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

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> 標籤中看到此輸出。我們建議不要嘗試移除此功能。相反地,如果您的應用程式不需要該輸出,建議您將其捨棄。

An error occurred (ValidationException) when calling the Converse operation

傳遞的工具組態不符合必要的慣例。如需所有參數的規格,請參閱 Converse API 規格

如果模型似乎忽略了工具,請確保您遵循了工具組態的正確 JSON 結構描述:

  • 最上層結構描述必須是物件類型

  • 最上層物件中僅支援三個欄位 - type (必須設定為「物件」)、propertiesrequired

  • 最上層常見的不支援欄位包括:$schemadescriptiontitleadditionalProperties

如果工具沒有如預期傳回,建議使用 tool_choice API 參數。

  • 工具:指定的工具會被呼叫一次。

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

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