工具调用故障排除 - 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 模型可以更成功地调用工具。要启用贪婪解码,请将 temperature 参数设置为 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 spec

如果看起来模型忽略了工具,请确保遵循了工具配置的正确 JSON 架构:

  • 顶层架构的类型必须为 Object

  • 顶层 Object 仅支持三个字段:type(必须设置为“object”)、propertiesrequired

  • 顶层不支持的常见字段有:$schemadescriptiontitleadditionalProperties

如果未按预期返回某个工具,则建议使用 tool_choice API 参数。

  • 工具:将调用指定工具一次。

    { "toolChoice": { "tool": { "name": "name_of_tool" } } }
  • 任意:将调用提供的某一工具至少一次。

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