Utilisation de l'outil - Amazon Bedrock

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

Avec Anthropic Claude les modèles, vous pouvez spécifier un outil que le modèle peut utiliser pour répondre à un message. Par exemple, vous pouvez spécifier un outil qui capte la chanson la plus populaire d'une station de radio. Si l'utilisateur passe le message Quelle est la chanson la plus populaire sur WZPZ ? , le modèle détermine que l'outil que vous avez spécifié peut aider à répondre à la question. Dans sa réponse, le modèle vous demande d'exécuter l'outil en son nom. Vous exécutez ensuite l'outil et transmettez le résultat de l'outil au modèle, qui génère ensuite une réponse pour le message d'origine. Pour plus d'informations, consultez la section Utilisation de l'outil (appel de fonction) dans la Anthropic Claude documentation.

Astuce

Nous vous recommandons d'utiliser l'ConverseAPI pour intégrer l'utilisation des outils dans votre application. Pour de plus amples informations, veuillez consulter Utiliser un outil pour compléter une réponse du modèle Amazon Bedrock.

Vous spécifiez les outils que vous souhaitez mettre à la disposition d'un modèle tools sur le terrain. L'exemple suivant concerne un outil qui permet d'obtenir les chansons les plus populaires d'une station de radio.

[ { "name": "top_song", "description": "Get the most popular song played on a radio station.", "input_schema": { "type": "object", "properties": { "sign": { "type": "string", "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ and WKRP." } }, "required": [ "sign" ] } } ]

Lorsque le modèle a besoin d'un outil pour générer une réponse à un message, il renvoie des informations sur l'outil demandé, ainsi que l'entrée de l'outil, dans le content champ du message. Il définit également le motif d'arrêt de la réponse àtool_use.

{ "id": "msg_bdrk_01USsY5m3XRUF4FCppHP8KBx", "type": "message", "role": "assistant", "model": "claude-3-sonnet-20240229", "stop_sequence": null, "usage": { "input_tokens": 375, "output_tokens": 36 }, "content": [ { "type": "tool_use", "id": "toolu_bdrk_01SnXQc6YVWD8Dom5jz7KhHy", "name": "top_song", "input": { "sign": "WZPZ" } } ], "stop_reason": "tool_use" }

Dans votre code, vous appelez l'outil au nom de l'outil. Vous transmettez ensuite le résultat de l'outil (tool_result) dans un message utilisateur au modèle.

{ "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_bdrk_01SnXQc6YVWD8Dom5jz7KhHy", "content": "Elemental Hotel" } ] }

Dans sa réponse, le modèle utilise le résultat de l'outil pour générer une réponse pour le message d'origine.

{ "id": "msg_bdrk_012AaqvTiKuUSc6WadhUkDLP", "type": "message", "role": "assistant", "model": "claude-3-sonnet-20240229", "content": [ { "type": "text", "text": "According to the tool, the most popular song played on radio station WZPZ is \"Elemental Hotel\"." } ], "stop_reason": "end_turn" }

Streaming d'outils à grain fin

Le streaming d'outils à grain fin est une fonctionnalité Anthropic Claude du modèle disponible avecClaude Sonnet 4, et Claude Opus 4. Grâce au streaming d'outils précis, Claude les développeurs peuvent diffuser les paramètres d'utilisation des outils sans mise en mémoire tampon ni validation JSON, réduisant ainsi le temps de latence nécessaire pour commencer à recevoir des paramètres importants.

Note

Lorsque vous utilisez un streaming d'outils précis, vous risquez de recevoir des entrées JSON non valides ou partielles. Assurez-vous de tenir compte de ces cas extrêmes dans votre code.

Pour utiliser cette fonctionnalité, il suffit d'ajouter l'en-tête fine-grained-tool-streaming-2025-05-14 à une demande d'utilisation d'outil.

Voici un exemple de la manière de spécifier l'en-tête de streaming détaillé de l'outil :

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "anthropic_beta": ["fine-grained-tool-streaming-2025-05-14"], "messages": [ { "role": "user", "content": "Can you write a long poem and make a file called poem.txt?" } ], "tools": [ { "name": "make_file", "description": "Write text to a file", "input_schema": { "type": "object", "properties": { "filename": { "type": "string", "description": "The filename to write text to" }, "lines_of_text": { "type": "array", "description": "An array of lines of text to write to the file" } }, "required": [ "filename", "lines_of_text" ] } } ] }

Dans cet exemple, le streaming d'outils détaillé permet à Claude de diffuser les lignes d'un long poème dans l'appel d'outil make_file sans mise en mémoire tampon pour valider si le lines_of_text paramètre est un JSON valide. Cela signifie que vous pouvez voir le flux de paramètres tel qu'il arrive, sans avoir à attendre que l'intégralité du paramètre soit mise en mémoire tampon et validée.

Grâce au streaming d'outils précis, les segments d'utilisation des outils commencent à être diffusés plus rapidement, sont souvent plus longs et contiennent moins de sauts de mots. Cela est dû aux différences de comportement de segmentation.

Par exemple, sans diffusion fine (délai de 15 s) :

Chunk 1: '{"' Chunk 2: 'query": "Ty' Chunk 3: 'peScri' Chunk 4: 'pt 5.0 5.1 ' Chunk 5: '5.2 5' Chunk 6: '.3' Chunk 8: ' new f' Chunk 9: 'eatur' ...

Avec un streaming fin (délai de 3 s) :

Chunk 1: '{"query": "TypeScript 5.0 5.1 5.2 5.3' Chunk 2: ' new features comparison'
Note

Étant donné que le streaming détaillé envoie des paramètres sans mise en mémoire tampon ni validation JSON, rien ne garantit que le flux résultant sera complété par une chaîne JSON valide. En particulier, si la raison de l'arrêt max_tokens est atteinte, le flux peut se terminer à mi-chemin d'un paramètre et peut être incomplet. Vous devrez généralement rédiger un support spécifique pour gérer le moment où vous max_tokens l'atteindrez.

Utilisation de l'ordinateur (version bêta)

L'utilisation de l'ordinateur est une fonctionnalité Anthropic Claude modèle (en version bêta) disponible avec Claude 3.5 Sonnet v2,Claude 3.7 Sonnet,Claude Sonnet 4, et Claude Opus 4. Grâce à l'utilisation d'un ordinateur, Claude peut vous aider à automatiser les tâches grâce à des actions de base de l'interface graphique.

Avertissement

La fonctionnalité d'utilisation de l'ordinateur est mise à votre disposition en tant que « service bêta » tel que défini dans les conditions de AWS service. Il est soumis à votre accord AWS et aux conditions de AWS service, ainsi qu'au modèle EULA applicable. Sachez que l'API d'utilisation de l'ordinateur présente des risques uniques qui sont distincts des fonctionnalités standard de l'API ou des interfaces de chat. Ces risques sont accrus lors de l'utilisation de l'API Computer Use pour interagir avec Internet. Pour minimiser les risques, pensez à prendre des précautions telles que :

  • Exploitez les fonctionnalités d'utilisation de l'ordinateur dans une machine virtuelle ou un conteneur dédié avec des privilèges minimaux afin de prévenir les attaques directes ou les accidents du système.

  • Pour éviter le vol d'informations, évitez de donner à l'API Computer Use l'accès à des comptes ou à des données sensibles.

  • Limiter l'accès à APIs Internet de l'ordinateur aux domaines requis afin de réduire l'exposition au contenu malveillant.

  • Pour garantir une supervision adéquate, tenez un humain au courant des tâches sensibles (telles que la prise de décisions susceptibles d'avoir des conséquences importantes dans le monde réel) et de tout ce qui nécessite un consentement affirmatif (comme l'acceptation de cookies, l'exécution de transactions financières ou l'acceptation des conditions d'utilisation).

Tout contenu que vous autorisez Claude à voir ou à accéder peut potentiellement annuler les instructions, provoquer des Claude erreurs ou effectuer des actions involontaires. Il est essentiel de prendre les précautions appropriées, telles que l'isolation Claude des surfaces sensibles, notamment pour éviter les risques liés à une injection rapide. Avant d'activer ou de demander les autorisations nécessaires pour activer les fonctionnalités d'utilisation de l'ordinateur dans vos propres produits, veuillez informer les utilisateurs finaux de tout risque pertinent et obtenir leur consentement le cas échéant.

L'API d'utilisation de l'ordinateur propose plusieurs outils d'utilisation prédéfinis que vous pouvez utiliser. Vous pouvez ensuite créer une invite avec votre demande, telle que « envoyer un e-mail à Ben avec les notes de ma dernière réunion » et une capture d'écran (si nécessaire). La réponse contient une liste d'tool_useactions au format JSON (par exemple, scroll_down, left_button_press, capture d'écran). Votre code exécute les actions informatiques et fournit une capture d'écran Claude présentant les sorties (sur demande).

Depuis la sortie de Claude 3.5 v2, le paramètre tools a été mis à jour pour accepter les types d'outils polymorphes ; une tool.type propriété a été ajoutée pour les distinguer. typeest facultatif ; s'il est omis, l'outil est supposé être un outil personnalisé (auparavant le seul type d'outil pris en charge). Pour accéder à l'utilisation de l'ordinateur, vous devez utiliser le anthropic_beta paramètre, avec une énumération correspondante, dont la valeur dépend de la version du modèle utilisée. Pour plus d'informations, veuillez consulter le tableau suivant.

Seules les requêtes effectuées avec ce paramètre et enum peuvent utiliser les outils d'utilisation de l'ordinateur. Il peut être spécifié comme suit :"anthropic_beta": ["computer-use-2025-01-24"].

Modèle En-tête bêta

Claude Opus4,1

Claude Opus 4

Claude Sonnet 4

Claude 3.7 Sonnet

utilisation de l'ordinateur-2025-01-24
Claude 3.5 Sonnet v2 utilisation de l'ordinateur-2024-10-22

Pour plus d'informations, consultez la section Utilisation de l'ordinateur (version bêta) dans la Anthropic documentation.

Voici un exemple de réponse qui suppose que la demande contient une capture d'écran de votre bureau avec une icône Firefox.

{ "id": "msg_123", "type": "message", "role": "assistant", "model": "anthropic.claude-3-5-sonnet-20241022-v2:0", "content": [ { "type": "text", "text": "I see the Firefox icon. Let me click on it and then navigate to a weather website." }, { "type": "tool_use", "id": "toolu_123", "name": "computer", "input": { "action": "mouse_move", "coordinate": [ 708, 736 ] } }, { "type": "tool_use", "id": "toolu_234", "name": "computer", "input": { "action": "left_click" } } ], "stop_reason": "tool_use", "stop_sequence": null, "usage": { "input_tokens": 3391, "output_tokens": 132 } }

Anthropicoutils définis

Anthropicfournit un ensemble d'outils permettant à certains Claude modèles d'utiliser efficacement les ordinateurs. Lorsque vous spécifiez un outil Anthropic défini, les tool_schema champs description et ne sont ni nécessaires ni autorisés. Anthropicles outils définis sont définis parAnthropic, mais vous devez évaluer explicitement les résultats de l'outil et renvoyer le tool_results àClaude. Comme pour tout outil, le modèle n'exécute pas automatiquement l'outil. Chaque outil Anthropic défini possède des versions optimisées pour des modèles spécifiques Claude 3.5 Sonnet (nouveaux) et Claude 3.7 Sonnet :

Modèle

Outil

Remarques

ClaudeClaude Opus4,1

ClaudeClaude Opus4

Claude Sonnet 4

{ "type": "text_editor_20250124", "name": "str_replace_based_edit_tool" }

Mise à jour de l'str_replace_editoroutil existant

Claude 3.7 Sonnet

{ "type": "computer_20250124", "name": "computer" }

Inclut de nouvelles actions pour un contrôle plus précis

Claude 3.7 Sonnet

{ "type": "text_editor_20250124", "name": "str_replace_editor" }

Mêmes fonctionnalités que la version 20241022

Claude 3.5 Sonnet v2

{ "type": "bash_20250124", "name": "bash" }

Mêmes fonctionnalités que la version 20241022

Claude 3.5 Sonnet v2

{ "type": "text_editor_20241022", "name": "str_replace_editor" }

Claude 3.5 Sonnet v2

{ "type": "bash_20241022", "name": "bash" }

Claude 3.5 Sonnet v2

{ "type": "computer_20241022", "name": "computer" }

Le type champ identifie l'outil et ses paramètres à des fins de validation, le name champ est le nom de l'outil exposé au modèle.

Si vous souhaitez inviter le modèle à utiliser l'un de ces outils, vous pouvez référencer explicitement l'outil par le name champ. Le name champ doit être unique dans la liste d'outils ; vous ne pouvez pas définir un outil avec le même outil name qu'un outil Anthropic défini dans le même appel d'API.

Considérations relatives aux coûts liés à l'utilisation des outils

Les demandes d'utilisation d'outils sont facturées en fonction des facteurs suivants :

  1. Nombre total de jetons d'entrée envoyés au modèle (y compris dans le paramètre des outils).

  2. Le nombre de jetons de sortie générés.

Le prix des outils est le même que celui de toutes les autres demandes d'ClaudeAPI, mais ils incluent des jetons supplémentaires par demande. Les jetons supplémentaires liés à l'utilisation de l'outil proviennent des éléments suivants :

  • toolsParamètre figurant dans les demandes d'API. Par exemple, les noms, les descriptions et les schémas des outils.

  • Tous les blocs de tool_use contenu dans les demandes et réponses d'API.

  • Tous les blocs de tool_result contenu dans les demandes d'API.

Lorsque vous utilisez des outils, les Anthropic modèles incluent automatiquement une invite système spéciale qui permet de les utiliser. Le nombre de jetons d'utilisation d'outils requis pour chaque modèle est indiqué dans le tableau suivant. Ce tableau exclut les jetons supplémentaires décrits précédemment. Notez que ce tableau suppose qu'au moins un outil est fourni. Si aucun outil n'est fourni, le choix d'aucun outil n'utilise aucun jeton d'invite système supplémentaire.

Modèle Choix de l'outil Nombre de jetons demandés par le système d'utilisation de l'outil

Claude Opus4,1

Claude Opus 4

Claude Sonnet 4

Claude 3.7 Sonnet

Claude 3.5 Sonnet v2

auto ou none 346

Claude Opus4,1

Claude Opus 4

Claude Sonnet 4

Claude 3.7 Sonnet

Claude 3.5 Sonnet v2

any ou tool 313

Claude 3.5 Sonnet

auto ou none 294

Claude 3.5 Sonnet

any ou tool 261

Claude 3 Opus

auto ou none 530

Claude 3 Opus

any ou tool 281

Claude 3 Sonnet

auto ou none 159

Claude 3 Sonnet

any ou tool 235

Claude 3 Haiku

auto ou none 264

Claude 3 Haiku

any ou tool 340