Dépannage des appels d’outils - Amazon Nova

Dépannage des appels d’outils

Vous pouvez rencontrer différentes erreurs lorsque vous travaillez avec des outils et des modèles Amazon Nova. Voici quelques exemples et conseils pour vous aider à résoudre les problèmes.

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.

Validez vos paramètres d’inférence : les modèles Amazon Nova ont plus de succès lorsqu’ils utilisent le décodage gourmand. Pour activer le décodage gourmand, définissez les paramètres de température sur 0.

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

Augmentez le nombre maximal de jetons : il est courant que les sorties des outils nécessitent un nombre important de jetons. Assurez-vous que le nombre maximal de jetons défini est suffisamment élevé pour prendre en charge le schéma de retour attendu. Si la réponse du modèle est supérieure à votre nombre maximal de jetons, cela déclenchera une exception. Vous pouvez définir le nombre maximal de jetons dans le paramètre inferenceConfig :

inferenceConfig={ "maxTokens": 3000 }

Vérifiez l’invite système : afin d’améliorer la précision de l’appel des outils, Amazon Nova utilise un raisonnement en chaîne lors de l’appel d’un outil. Vous verrez cette sortie dans la réponse dans les balises <thinking>. Nous vous déconseillons de supprimer cette fonctionnalité. Nous vous recommandons plutôt de supprimer la sortie si vous n’en avez pas besoin dans votre application.

An error occurred (ValidationException) when calling the Converse operation

La configuration de l’outil transmise n’est pas conforme aux conventions requises. Reportez-vous à la spécification de l’API Converse pour connaître les spécifications de tous les paramètres.

S’il semble que les outils soient ignorés par le modèle, assurez-vous que vous suivez le schéma JSON correct pour la configuration de l’outil :

  • Le schéma de niveau supérieur doit être de type Object

  • Seuls trois champs sont pris en charge dans l’objet de niveau supérieur : type (doit être défini sur « object »), properties et required

  • Les champs courants non pris en charge au niveau supérieur sont : $schema, description, title et additionalProperties

Si un outil n’est pas renvoyé comme prévu, il est recommandé d’utiliser le paramètre API tool_choice.

  • Tool : l’outil spécifié sera appelé une fois.

    { "toolChoice": { "tool": { "name": "name_of_tool" } } }
  • Any : l’un des outils fournis sera appelé au moins une fois.

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