Utilisation de l'outil (appel de fonctions) avec Amazon Nova - Amazon Nova

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'outil (appel de fonctions) avec Amazon Nova

Les outils permettent de fournir des fonctionnalités externes à Amazon Nova, telles qu'un appel d'API ou une fonction de code. Cette section explique comment définir et intégrer des outils lorsque vous travaillez avec des modèles Amazon Nova.

L'utilisation de l'outil implique trois étapes de haut niveau :

  • Requête utilisateur : vous définissez les outils qu'Amazon Nova peut utiliser en fournissant un schéma JSON qui décrit les fonctionnalités et les exigences de saisie de chaque outil.

  • Sélection de l'outil : lorsqu'un utilisateur envoie un message, Amazon Nova l'analyse afin de déterminer si un outil est nécessaire pour générer une réponse. C'est ce que l'on appelle le choix de Auto l'outil. Consultez la section Choix d'un outil pour plus d'informations. Si Amazon Nova identifie un outil approprié, il « appelle l'outil » et renvoie le nom de l'outil et les paramètres à utiliser.

    En tant que développeur, vous êtes responsable de l'exécution de l'outil en fonction de la demande du modèle. Cela signifie que vous devez écrire le code qui invoque les fonctionnalités de l'outil et traite les paramètres d'entrée fournis par le modèle.

    Note

    Comme toutes les réponses LLM, il est possible qu'Amazon Nova hallucine un appel à un outil. Il est de votre responsabilité, en tant que développeur, de vérifier que l'outil existe, que les entrées sont correctement formatées et que les autorisations appropriées sont déjà en place.

  • Retourner les résultats : après avoir exécuté l'outil, vous devez renvoyer les résultats à Amazon Nova dans un format structuré. Les formats valides incluent le JSON ou une combinaison de texte et d'images. Cela permet à Amazon Nova d'intégrer le résultat de l'outil dans la réponse finale à l'utilisateur.

    Si des erreurs se produisent lors de l'exécution de l'outil, vous pouvez le signaler dans la réponse de l'outil à Amazon Nova, ce qui permet à Amazon Nova d'ajuster sa réponse en conséquence.

Prenons un exemple simple d'outil de calcul :

User query

La première étape du processus d'appel d'outils consiste à demander à l'utilisateur Amazon Nova le résultat d'une équation mathématique (10 fois 5). Cette requête est envoyée sous forme d'invite à Amazon Nova avec une spécification d'outil représentant le calculateur.

user_query = "10*5" messages = [{ "role": "user", "content": [{"text": user_query}] }] tool_config = { "tools": [ { "toolSpec": { "name": "calculator", # Name of the tool "description": "A calculator tool that can execute a math equation", # Concise description of the tool "inputSchema": { "json": { "type": "object", "properties": { "equation": { # The name of the parameter "type": "string", # parameter type: string/int/etc "description": "The full equation to evaluate" # Helpful description of the parameter } }, "required": [ # List of all required parameters "equation" ] } } } } ] }
Tool selection

Amazon Nova utilise le contexte de l'outil ainsi que l'invite de l'utilisateur pour déterminer l'outil à utiliser et la configuration requise. Cela est renvoyé dans le cadre de la réponse de l'API.

{ "toolUse": { "toolUseId": "tooluse_u7XTryCSReawd9lXwljzHQ", "name": "calculator", "input": { "equation": "10*5" } } }

L'application est chargée d'exécuter l'outil et de stocker le résultat.

def calculator(equation: str): return eval(equation) tool_result = calculator("10*5")
Return results

Pour renvoyer le résultat de l'outil à Amazon Nova, celui-ci est inclus dans une nouvelle demande d'API. Notez que l'identifiant d'utilisation de l'outil est identique à celui renvoyé par Amazon Nova dans la réponse précédente.

{ "toolResult": { "toolUseId": "tooluse_u7XTryCSReawd9lXwljzHQ", "content": [ { "json": { "result": "50" } } ], "status": "success" } }
  • Amazon Nova utilisera le contexte complet des messages, y compris la requête initiale de l'utilisateur, l'utilisation de l'outil et le résultat de l'outil pour déterminer la réponse finale à l'utilisateur. Dans ce cas, Amazon Nova répondra à l'utilisateur que « 10 fois 5 font 50 ».

Amazon Nova autorise l'utilisation d'outils à la fois dans les API Invoke et Converse. Toutefois, pour bénéficier d'une gamme complète de fonctionnalités, nous vous recommandons d'utiliser l'API Converse et nous utiliserons des exemples avec cette API à l'avenir.

Références supplémentaires