Uso dell'utensile - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Uso dell'utensile

Con Anthropic Claude i modelli, è possibile specificare uno strumento che il modello può utilizzare per rispondere a un messaggio. Ad esempio, è possibile specificare uno strumento che riproduca la canzone più popolare su una stazione radio. Se l'utente trasmette il messaggio Qual è la canzone più popolare su WZPZ? , il modello determina che lo strumento specificato può aiutare a rispondere alla domanda. Nella sua risposta, il modello richiede l'esecuzione dello strumento per suo conto. Quindi eseguite lo strumento e passate il risultato dell'utensile al modello, che a sua volta genera una risposta per il messaggio originale. Per ulteriori informazioni, vedete Tool use (function calling) nella Anthropic Claude documentazione.

Suggerimento

Ti consigliamo di utilizzare l'ConverseAPI per integrare l'uso dello strumento nella tua applicazione. Per ulteriori informazioni, consulta Usa uno strumento per completare una risposta al modello Amazon Bedrock.

Specificate gli strumenti che desiderate rendere disponibili a un modello sul tools campo. L'esempio seguente riguarda uno strumento che riceve le canzoni più popolari su una stazione 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" ] } } ]

Quando il modello necessita di uno strumento per generare una risposta a un messaggio, restituisce le informazioni sullo strumento richiesto e l'input dello strumento nel content campo del messaggio. Imposta inoltre il motivo dell'interruzione della risposta atool_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" }

Nel codice, si chiama lo strumento per conto degli strumenti. Quindi passate lo strumento result (tool_result) in un messaggio utente al modello.

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

Nella sua risposta, il modello utilizza il risultato dello strumento per generare una risposta per il messaggio originale.

{ "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 di strumenti a grana fine

Lo streaming di strumenti a grana fine è una funzionalità del Anthropic Claude modello disponibile con, e 4. Claude Sonnet 4 Claude Opus Con lo streaming granulare degli strumenti, Claude gli sviluppatori possono trasmettere in streaming i parametri di utilizzo degli strumenti senza buffering o convalida JSON, riducendo la latenza necessaria per iniziare a ricevere parametri di grandi dimensioni.

Nota

Quando si utilizza lo streaming di strumenti a grana fine, è possibile ricevere input JSON non validi o parziali. Assicurati di tenere conto di questi casi limite nel tuo codice.

Per utilizzare questa funzionalità, è sufficiente aggiungere l'intestazione fine-grained-tool-streaming-2025-05-14 a una richiesta di utilizzo dello strumento.

Ecco un esempio di come specificare l'intestazione di streaming dello strumento a grana fine:

{ "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" ] } } ] }

In questo esempio, lo streaming di strumenti a grana fine consente a Claude di trasmettere le righe di una lunga poesia nella chiamata allo strumento make_file senza buffering per verificare se il parametro è JSON valido. lines_of_text Ciò significa che è possibile visualizzare il flusso di parametri non appena arriva, senza dover attendere che l'intero parametro venga memorizzato nel buffer e convalidato.

Con lo streaming degli strumenti a grana fine, i blocchi di utilizzo degli strumenti iniziano a trasmettere più velocemente, sono spesso più lunghi e contengono meno interruzioni di parole. Ciò è dovuto alle differenze nel comportamento della suddivisione in blocchi.

Ad esempio, senza streaming a grana fine (ritardo di 15 secondi):

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' ...

Con streaming a grana fine (ritardo di 3 secondi):

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

Poiché lo streaming a grana fine invia i parametri senza buffering o convalida JSON, non è garantito che lo stream risultante venga completato in una stringa JSON valida. In particolare, se max_tokens viene raggiunto il motivo dell'interruzione, lo stream potrebbe terminare a metà di un parametro e potrebbe essere incompleto. In genere è necessario scrivere un supporto specifico per gestire quando max_tokens viene raggiunto.

Uso del computer (Beta)

L'uso del computer è una funzionalità Anthropic Claude del modello (in versione beta) disponibile con Claude 3.5 Sonnet v2, Claude 3.7 SonnetClaude Sonnet 4, e 4. Claude Opus Con l'uso del computer, Claude può aiutarti ad automatizzare le attività tramite azioni GUI di base.

avvertimento

La funzionalità di utilizzo del computer è messa a disposizione dell'utente come «Servizio beta», come definito nei Termini di servizio. AWS È soggetta al Contratto AWS e ai Termini di AWS servizio dell'utente e al modello di EULA applicabile. Tieni presente che l'API Computer Use comporta rischi unici che sono diversi dalle funzionalità API standard o dalle interfacce di chat. Questi rischi aumentano quando si utilizza l'API Computer Use per interagire con Internet. Per ridurre al minimo i rischi, prendi in considerazione l'adozione di precauzioni come:

  • Utilizza la funzionalità di utilizzo del computer in una macchina virtuale o in un contenitore dedicato con privilegi minimi per prevenire attacchi o incidenti diretti al sistema.

  • Per prevenire il furto di informazioni, evita di concedere all'API Computer Use l'accesso ad account o dati sensibili.

  • Limita l'uso dell'accesso a APIs Internet da parte del computer ai domini necessari per ridurre l'esposizione a contenuti dannosi.

  • Per garantire una supervisione adeguata, tenete sempre aggiornati gli operatori per le attività sensibili (come prendere decisioni che potrebbero avere conseguenze significative nel mondo reale) e per tutto ciò che richiede il consenso affermativo (come accettare i cookie, eseguire transazioni finanziarie o accettare i termini di servizio).

Qualsiasi contenuto Claude a cui consenti la visualizzazione o l'accesso può potenzialmente ignorare le istruzioni o causare Claude errori o eseguire azioni non intenzionali. Adottare le dovute precauzioni, ad esempio isolarsi Claude dalle superfici sensibili, è essenziale, anche per evitare i rischi legati all'iniezione tempestiva. Prima di abilitare o richiedere le autorizzazioni necessarie per abilitare le funzionalità di utilizzo del computer nei vostri prodotti, informate gli utenti finali di eventuali rischi pertinenti e ottenete il loro consenso, se del caso.

L'API per l'uso del computer offre diversi strumenti predefiniti per l'uso del computer. Puoi quindi creare un prompt con la tua richiesta, ad esempio «invia un'e-mail a Ben con gli appunti del mio ultimo incontro» e uno screenshot (se necessario). La risposta contiene un elenco di tool_use azioni in formato JSON (ad esempio, scroll_down, left_button_press, screenshot). Il codice esegue le azioni del computer e fornisce schermate che mostrano gli output (quando richiesto). Claude

Dalla versione Claude 3.5 v2, il parametro tools è stato aggiornato per accettare tipi di strumenti polimorfici; è stata aggiunta una proprietà per distinguerli. tool.type typeè facoltativo; se omesso, si presume che lo strumento sia uno strumento personalizzato (in precedenza era l'unico tipo di strumento supportato). Per accedere all'utilizzo del computer, è necessario utilizzare il anthropic_beta parametro, con un enum corrispondente, il cui valore dipende dalla versione del modello in uso. Per ulteriori informazioni, consulta la tabella seguente.

Solo le richieste effettuate con questo parametro ed enum possono utilizzare gli strumenti di utilizzo del computer. Può essere specificato come segue:"anthropic_beta": ["computer-use-2025-01-24"].

Modello Intestazione beta

Claude Opus4.1

Claude Opus 4

Claude Sonnet 4

Claude 3.7 Sonnet

uso del computer-2025-01-24
Claude 3.5 Sonnet v2 uso del computer-2024-10-22

Per ulteriori informazioni, consulta Uso del computer (beta) nella documentazione. Anthropic

Di seguito è riportato un esempio di risposta che presuppone che la richiesta contenga uno screenshot del desktop con l'icona di 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 } }

Anthropicstrumenti definiti

Anthropicfornisce una serie di strumenti per consentire a determinati Claude modelli di utilizzare efficacemente i computer. Quando si specifica uno strumento Anthropic definito, i tool_schema campi description e non sono necessari o consentiti. Anthropicgli strumenti definiti sono definiti daAnthropic, ma è necessario valutare esplicitamente i risultati dello strumento e restituirli a. tool_results Claude Come con qualsiasi strumento, il modello non esegue automaticamente lo strumento. Ogni strumento Anthropic definito ha versioni ottimizzate per modelli specifici Claude 3.5 Sonnet (nuovi) eClaude 3.7 Sonnet:

Modello

Strumento

Note

ClaudeClaude Opus4.1

ClaudeClaude Opus4

Claude Sonnet 4

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

Aggiornamento allo str_replace_editor strumento esistente

Claude 3.7 Sonnet

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

Include nuove azioni per un controllo più preciso

Claude 3.7 Sonnet

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

Stesse funzionalità della versione 20241022

Claude 3.5 Sonnet v2

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

Stesse funzionalità della versione 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" }

Il type campo identifica lo strumento e i suoi parametri a fini di convalida, il name campo è il nome dello strumento esposto al modello.

Se desiderate richiedere al modello di utilizzare uno di questi strumenti, potete fare riferimento esplicitamente allo strumento tramite il campo. name Il name campo deve essere univoco all'interno dell'elenco degli strumenti; non è possibile definire uno strumento con lo stesso strumento name Anthropic definito nella stessa chiamata API.

Considerazioni sui costi per l'uso degli utensili

Il prezzo delle richieste di utilizzo degli utensili si basa sui seguenti fattori:

  1. Il numero totale di token di input inviati al modello (incluso nel parametro tools).

  2. Il numero di token di output generati.

Gli strumenti hanno lo stesso prezzo di tutte le altre richieste Claude API, ma includono token aggiuntivi per richiesta. I token aggiuntivi derivanti dall'uso degli strumenti provengono dai seguenti:

  • Il tools parametro nelle richieste API. Ad esempio, nomi, descrizioni e schemi degli strumenti.

  • Qualsiasi blocco tool_use di contenuto nelle richieste e nelle risposte API.

  • Qualsiasi blocco di tool_result contenuto nelle richieste API.

Quando si utilizzano gli strumenti, i Anthropic modelli includono automaticamente uno speciale prompt di sistema che consente l'utilizzo degli strumenti. Il numero di token per l'utilizzo degli utensili richiesti per ogni modello è elencato nella tabella seguente. Questa tabella esclude i token aggiuntivi descritti in precedenza. Si noti che questa tabella presuppone che venga fornito almeno uno strumento. Se non viene fornito alcun utensile, la scelta di uno strumento non utilizza 0 token di prompt di sistema aggiuntivi.

Modello Scelta dello strumento Numero di token del prompt del sistema di utilizzo dello strumento

Claude Opus4.1

Claude Opus 4

Claude Sonnet 4

Claude 3.7 Sonnet

Claude 3.5 Sonnet v2

auto o none 346

Claude Opus4.1

Claude Opus 4

Claude Sonnet 4

Claude 3.7 Sonnet

Claude 3.5 Sonnet v2

any o tool 313

Claude 3.5 Sonnet

auto o none 294

Claude 3.5 Sonnet

any o tool 261

Claude 3 Opus

auto o none 530

Claude 3 Opus

any o tool 281

Claude 3 Sonnet

auto o none 159

Claude 3 Sonnet

any o tool 235

Claude 3 Haiku

auto o none 264

Claude 3 Haiku

any o tool 340