Corso
Anthropic ha rilasciato di recente Claude 3.5 Sonnet, un modello potente che ha superato GPT-4o e Gemini Pro 1.5 in vari benchmark.
Le capacità di ragionamento visivo di Claude 3.5 Sonnet sono particolarmente impressionanti, e potresti volerle integrare nel tuo flusso di sviluppo tramite l'API di Claude 3.5 Sonnet.
In questo articolo ti aiuterò a iniziare con l'API di Claude 3.5 Sonnet e ti fornirò una guida passo passo per usarlo tramite l'API di Anthropic.
Se vuoi una panoramica di Claude 3.5 Sonnet, ti consiglio questo articolo su Cos'è Claude 3.5 Sonnet.
Cos'è Claude 3.5 Sonnet?
Claude 3.5 Sonnet è un large language model sviluppato da Anthropic. Fa parte della famiglia Claude 3.5 più ampia: Anthropic rilascerà Claude 3.5 Opus e Claude 3.5 Haiku più avanti quest'anno.
Claude 3.5 Sonnet mostra miglioramenti notevoli nella comprensione e generazione di immagini e ha ottenuto ottime performance nei benchmark, in particolare in compiti di coding e reasoning, rispetto ad altri modelli come GPT-4o, Gemini 1.5 Pro o Llama-400b.

Inoltre introduce una nuova funzionalità chiamata Artifacts per una migliore gestione delle informazioni all'interno delle conversazioni. Puoi saperne di più sugli Artifacts in questo articolo introduttivo su Claude Sonnet 3.5.
API di Claude 3.5 Sonnet: come connettersi all'API di Antrophic
Per iniziare a usare l'API di Claude 3.5 Sonnet, devi creare un account API Anthropic e configurare il client di Anthropic. Vediamolo passo dopo passo.
Ottenere l'accesso all'API
Passaggio 1: Registrati
Visita la Anthropic Console e crea un account. Dovrai fornire alcune informazioni di base e verificare l'email.
Passaggio 2: Chiave API
Dopo aver configurato l'account, vai alla sezione Get API keys e clicca su Create Key per generare la tua chiave API.
Configurare l'ambiente
Per inizializzare il client di Anthropic, devi prima installare la libreria anthropic come segue:
pip install anthropic
Una volta installata la libreria, puoi inizializzare il client di Anthropic usando la tua chiave API.
import anthropic
# Create an instance of the Anthropics API client
client = anthropic.Anthropic(api_key='your_api_key_here')
Con la libreria anthropic installata e il client Anthropic inizializzato con la tua API, iniziamo ora a esplorare le capacità di Claude 3.5 Sonnet.
API di Claude: Messages API vs. Text Completions API
L'API di Claude 3.5 Sonnet offre funzionalità potenti, in particolare la Messages API, progettata per creare interazioni ricche e dinamiche.
Nota che la Text Completions API è ora considerata legacy. Pur offrendo funzionalità di completamento di base, non include le funzionalità avanzate e la flessibilità della Messages API.
Si incoraggiano gli utenti a migrare alla Messages API per funzionalità migliorate e supporto futuro.
Inoltre, al momento, gli Artifacts non sono accessibili via API. Per interagire con gli Artifacts, devi usare l'interfaccia web fornita da Claude.ai, che supporta pienamente la modifica, il riferimento e il download dei contenuti generati da Claude 3.5 Sonnet.
API di Claude 3.5 Sonnet: Messages API
La Messages API ti consente di inviare un elenco strutturato di messaggi di input con contenuti testuali o immagini, permettendo al modello di generare il messaggio successivo nella conversazione.
Questa API supporta sia query singole sia conversazioni multi-turno senza stato.
Per creare un messaggio, puoi usare la libreria Python anthropic e chiamare il metodo messages.create con i parametri richiesti. I parametri chiave includono il modello, i messaggi e varie impostazioni opzionali per controllare l'output.
Parametri obbligatori
Esploriamo i parametri obbligatori:
model: Il modello da usare (ad es., "claude-3-5-sonnet-20240620").
messages: Un elenco di messaggi di input. Ogni messaggio deve avere un ruolo ("user" o "assistant") e un contenuto.
Alla data di stesura di questo articolo, questi sono i modelli disponibili tramite l'API di Anthropic:

Parametri opzionali
I parametri opzionali includono:
max_tokens: Il numero massimo di token da generare.temperature: Controlla la casualità della risposta.stop_sequences: Sequenze di testo personalizzate che fanno interrompere la generazione al modello.stream: Se trasmettere la risposta in modo incrementale.system:Un prompt di sistema che fornisce contesto e istruzioni.tools: Definizioni degli strumenti che il modello può usare.top_k: Esegue il campionamento solo dalle prime K opzioni per ciascun token successivo. Usato per rimuovere risposte a bassa probabilità nella "coda lunga".top_p: Usa il nucleus sampling per tagliare le opzioni meno probabili in base al raggiungimento di una soglia di probabilità cumulativa.
API di Claude 3.5 Sonnet: casi d'uso
Ora che abbiamo compreso tutti i parametri coinvolti, esploriamo casi d'uso pratici della Messages API usando Python e la libreria anthropic:
Richiesta a messaggio singolo
Ecco come possiamo effettuare una richiesta con un singolo messaggio:
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, world"}]
)
Conversazione multi-turno
Avviamo ora una conversazione multi-turno:
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=512,
messages=[
{"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?"}
]
)
Inclusione di contenuti immagine
A partire dai modelli Claude 3, puoi includere contenuti immagine nei tuoi messaggi.
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=512,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "media_file"
}
},
{
"type": "text",
"text": "What is in this image?"
}
]
}
]
)
Uso di system prompt e stop sequence
Ecco come possiamo usare i system prompt e le stop sequence:
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1024,
messages=[{"role": "user", "content": "Write a short story."}],
system="You are a creative writing assistant.",
stop_sequences=["The end."],
temperature=0.9
)
Definizioni degli strumenti
Puoi definire strumenti che il modello può usare durante le interazioni. Questo include specificare il nome dello strumento, la descrizione e lo schema di input.
# Define the request parameters
model = "claude-3-5-sonnet-20240620"
messages = [{"role": "user", "content": "What's the S&P 500 at today?"}]
tools = [
{
"name": "get_stock_price",
"description": "Get the current stock price for a given ticker symbol.",
"input_schema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "The stock ticker symbol, e.g., AAPL for Apple Inc."
}
},
"required": ["ticker"]
}
}
]
# Create a message with the defined parameters
response = client.messages.create(
model=model,
messages=messages,
tools=tools
)
Conclusione
In questa guida abbiamo visto come connetterti all'API di Anthropic per usare il modello Claude 3.5 Sonnet. Abbiamo coperto aspetti chiave come configurazione, autenticazione e utilizzo della Messages API per vari task.
Che tu stia creando un chatbot, un generatore di contenuti o qualsiasi altra applicazione basata sull'IA, Claude 3.5 Sonnet potrebbe essere una buona scelta.
Per saperne di più su Claude Sonnet e su come si confronta con ChatGPT, dai un'occhiata agli articoli qui sotto:
FAQs
Quali sono le principali differenze tra la legacy Text Completions API e la più recente Messages API nell'API di Anthropic?
La Text Completions API fornisce funzionalità di completamento testuale di base, mentre la Messages API offre funzionalità più avanzate, come la possibilità di avere conversazioni multi-turno, incorporare immagini e usare system prompt e strumenti. La Messages API è progettata per interazioni più interattive e dinamiche, mentre la Text Completions API è uno strumento più semplice per la generazione testuale di base. Anthropic consiglia di usare la Messages API per i nuovi progetti e di migrare a essa i progetti esistenti che utilizzano la Text Completions API.
Posso usare gli Artifacts direttamente tramite l'API di Claude 3.5 Sonnet?
Al momento, gli Artifacts non sono direttamente accessibili via API. Puoi interagire con gli Artifacts tramite l'interfaccia web su Claude.ai, che supporta la modifica, il riferimento e il download dei contenuti generati da Claude. Tuttavia, Anthropic potrebbe aggiungere in futuro il supporto API per gli Artifacts.
Ryan è un lead data scientist specializzato nello sviluppo di applicazioni di IA con LLM. È dottorando in Elaborazione del Linguaggio Naturale e Knowledge Graph all’Imperial College London, dove ha anche conseguito la laurea magistrale in Informatica. Oltre alla data science, scrive una newsletter settimanale su Substack, The Limitless Playbook, in cui condivide un’idea pratica dei migliori pensatori al mondo e, di tanto in tanto, scrive sui concetti fondamentali dell’IA.




