Solucionar problemas de chamadas de ferramentas - Amazon Nova

Solucionar problemas de chamadas de ferramentas

Você pode ver diferentes erros ao trabalhar com ferramentas e modelos do Amazon Nova. Confira abaixo alguns exemplos e dicas para ajudar na solução de problemas.

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.

Valide seus parâmetros de inferência: os modelos do Amazon Nova têm mais sucesso ao chamar ferramentas quando usam a decodificação Greedy. Para habilitar a decodificação greedy, defina os parâmetros de temperatura como 0.

inferenceConfig={ "temperature": 0 } additionalModelRequestFields={"inferenceConfig": {"topK": 1}}

Aumente a contagem máxima de tokens: é comum que as saídas da ferramenta exijam uma saída de token grande. Certifique-se de que o número máximo de tokens definido seja grande o suficiente para acomodar o esquema de retorno esperado. Se a resposta do modelo for maior do que sua contagem máxima de tokens, ela acionará uma exceção. Você pode definir o número máximo de tokens no parâmetro inferenceConfig:

inferenceConfig={ "maxTokens": 3000 }

Revise o prompt do sistema: para melhorar a precisão da chamada de ferramentas, o Amazon Nova usa o raciocínio de cadeia de pensamento ao chamar uma ferramenta. Você verá essa saída na resposta em tags <thinking>. Não recomendamos tentar remover essa funcionalidade. Em vez disso, recomendamos que você descarte a saída se não precisar dela em sua aplicação.

An error occurred (ValidationException) when calling the Converse operation

A configuração da ferramenta passada não está em conformidade com as convenções exigidas. Consulte a especificação da API Converse para obter as especificações de todos os parâmetros.

Se parecer que as ferramentas estão sendo ignoradas pelo modelo, certifique-se de estar seguindo o esquema JSON correto para a configuração da ferramenta:

  • O esquema de nível superior deve ser do tipo Object.

  • O objeto de nível superior aceita apenas três campos: type (deve ser definido como "objeto"), properties e required

  • Os campos comuns não compatíveis no nível superior são: $schema, description, title e additionalProperties.

Se uma ferramenta não estiver sendo retornada quando esperado, será recomendável utilizar o parâmetro de API tool_choice.

  • Ferramenta: a ferramenta especificada será chamada uma vez.

    { "toolChoice": { "tool": { "name": "name_of_tool" } } }
  • Qualquer: uma das ferramentas fornecidas será chamada pelo menos uma vez.

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