API Messages di Anthropic Claude - 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à.

API Messages di Anthropic Claude

Questa sezione fornisce parametri di inferenza ed esempi di codice per l’utilizzo dell’API Messages di Anthropic Claude.

Panoramica dell’API Messages di Anthropic Claude

Puoi utilizzare l’API Messages per creare chatbot o applicazioni di assistente virtuale. L’API gestisce gli scambi conversazionali tra l’utente e un modello Anthropic Claude (assistente).

Suggerimento

Questo argomento mostra come utilizzare l'API dei Anthropic Claude messaggi con le operazioni di inferenza di base (InvokeModelor InvokeModelWithResponseStream). Tuttavia, ti consigliamo di utilizzare l’API Converse per implementare i messaggi nell’applicazione. L’API Converse fornisce un set unificato di parametri che funzionano su tutti i modelli che supportano i messaggi. Per ulteriori informazioni, consulta Avvio di una conversazione con le operazioni dell’API Converse.

I modelli Claude sono addestrati da Anthropic in modo da operare su turni di conversazione alternati tra utente e assistente. Quando crei un nuovo messaggio, i turni di conversazione precedenti vengono specificati con il parametro messages. Il modello genera quindi il messaggio successivo nella conversazione.

Ogni messaggio di input deve essere un oggetto con un ruolo e un contenuto. È possibile specificare un singolo messaggio con il ruolo di utente oppure includere più messaggi con i ruoli di utente e assistente.

Se stai utilizzando la tecnica di precompilazione della risposta da Claude (inserendo l’inizio della risposta di Claude utilizzando un messaggio finale con ruolo di assistente), Claude risponde riprendendo da dove avevi interrotto. Con questa tecnica, Claude restituisce comunque una risposta con il ruolo di assistente.

Se il messaggio finale utilizza il ruolo di assistente, il contenuto della risposta riprende immediatamente dal contenuto di tale messaggio. Puoi utilizzarlo per vincolare parte della risposta del modello.

Esempio con un singolo messaggio utente:

[{"role": "user", "content": "Hello, Claude"}]

Esempio con più turni di conversazione:

[ {"role": "user", "content": "Hello there."}, {"role": "assistant", "content": "Hi, I'm Claude. How can I help you?"}, {"role": "user", "content": "Can you explain LLMs in plain English?"}, ]

Esempio con una risposta parzialmente compilata da Claude:

[ {"role": "user", "content": "Please describe yourself using only JSON"}, {"role": "assistant", "content": "Here is my JSON description:\n{"}, ]

Il contenuto di ogni messaggio di input può essere una singola stringa o un array di blocchi di contenuto, in cui ogni blocco ha un tipo specifico. Utilizzare una stringa è una scorciatoia per un array di un solo blocco di contenuto di tipo “text”. I seguenti messaggi di input sono equivalenti:

{"role": "user", "content": "Hello, Claude"}
{"role": "user", "content": [{"type": "text", "text": "Hello, Claude"}]}

Per informazioni sulla creazione di prompt per i modelli Anthropic Claude, consulta Panoramica dell’ingegneria dei prompt nella documentazione di Anthropic Claude. Se disponi già di prompt di Text Completions che vuoi migrare all’API Messages, consulta Lavorare con l’API Messages.

Importante

Il periodo di timeout per le chiamate di inferenza ad Anthropic Claude 3.7 Sonnet e Claude 4 è 60 minuti. Per impostazione predefinita, i client AWS SDK scadono dopo 1 minuto. Ti consigliamo di aumentare il periodo di timeout di lettura del tuo client AWS SDK ad almeno 60 minuti. Ad esempio, per l’AWS SDK per Python botocore, modifica il valore del campo read_timeout in botocore.config ad almeno 3.600.

Prompt di sistema

Puoi anche includere un prompt di sistema nella richiesta. Un prompt di sistema ti permette di fornire contesto e istruzioni ad Anthropic Claude, ad esempio specificare un obiettivo o un ruolo particolare. Specifica un prompt di sistema nel campo system, come mostrato nell’esempio seguente.

"system": "You are Claude, an AI assistant created by Anthropic to be helpful, harmless, and honest. Your goal is to provide informative and substantive responses to queries while avoiding potential harms."

Per ulteriori informazioni, consulta Dare un ruolo a Claude con un system prompt nella documentazione di Anthropic.

Prompt multimodali

Un prompt multimodale combina più modalità (immagini e testo) in un unico prompt. Le modalità vengono specificate nel campo di input content. L’esempio seguente mostra come si potrebbe chiedere ad Anthropic Claude di descrivere il contenuto di un’immagine fornita. Per il codice di esempio, consulta Esempi di codice multimodale.

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "messages": [ { "role": "user", "content": [ { "type": "image", "source": { "type": "base64", "media_type": "image/jpeg", "data": "iVBORw..." } }, { "type": "text", "text": "What's in these images?" } ] } ] }
Nota

Le seguenti restrizioni riguardano il campo content:

  • Puoi includere fino a 20 immagini. Le dimensioni, l’altezza e la larghezza di ciascuna immagine non devono superare rispettivamente 3,75 MB, 8.000 px e 8.000 px.

  • Puoi includere fino a 5 documenti. Le dimensioni di ogni documento non devono superare i 4,5 MB.

  • Puoi includere immagini e documenti solo se role è impostato su user.

Ogni immagine che includi in una richiesta viene conteggiata ai fini dell’utilizzo dei token. Per ulteriori informazioni, consulta Calcola i costi delle immagini nella documentazione di Anthropic.