Learn AI with Python · Lezione

API Anthropic Claude in Python

anthropic.Anthropic(), messages.create(), blocchi di contenuto, extended thinking, streaming

Lezione 2 di 413 passaggi

API Anthropic Claude in Python è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

L'SDK Anthropic

I modelli Claude di Anthropic sono accessibili tramite il pacchetto Python anthropic. Lo installi con pip install anthropic. Claude eccelle nel ragionamento su contesti lunghi, nel seguire attentamente le istruzioni e nell'uso degli strumenti.

pip install anthropic

import anthropic

Creare il client

Crei il client con anthropic.Anthropic(). Per impostazione predefinita, legge la Sua chiave dalla variabile d'ambiente ANTHROPIC_API_KEY, mantenendo le credenziali fuori dal codice.

import anthropic

client = anthropic.Anthropic()

# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")

L'API Messages

Claude utilizza client.messages.create(). A differenza di OpenAI, il system prompt è un parametro separato, non un messaggio dell'elenco. L'elenco messages contiene solo i turni user e assistant.

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    system="You are a concise expert.",
    messages=[{"role": "user", "content": "Explain RAG in one sentence."}]
)

max_tokens è obbligatorio

Una differenza fondamentale è che max_tokens è obbligatorio nell'API Anthropic. Limita il numero di token che Claude può generare nella risposta. Lo imposti su un valore abbastanza alto per l'output previsto, ricordando però che protegge anche dai costi incontrollati.

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2048,
    messages=[{"role": "user", "content": "Write a haiku about Python."}]
)

Leggere la risposta

Claude restituisce un elenco content composto da blocchi. Per il testo semplice, la risposta si trova in message.content[0].text. È un elenco perché una risposta può contenere più blocchi, ad esempio testo e una richiesta di utilizzo di uno strumento.

print(message.content[0].text)

# Inspect block type
print(message.content[0].type)  # "text"

Cronologia della conversazione

Come le altre API per le chat, Claude è stateless. Per continuare una conversazione, aggiunga personalmente a messages la risposta dell'assistant e il turno successivo dell'user.

messages = [{"role": "user", "content": "Hello"}]
resp = client.messages.create(model="claude-opus-4-8", max_tokens=512, messages=messages)

messages.append({"role": "assistant", "content": resp.content[0].text})
messages.append({"role": "user", "content": "Tell me more"})

Streaming con un context manager

Per ottenere l'output in tempo reale, Claude offre client.messages.stream(), utilizzato come context manager con l'istruzione with. In questo modo la connessione viene aperta e chiusa in sicurezza.

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    pass  # iterate inside

Iterare sullo stream di testo

All'interno del blocco with, iteri su stream.text_stream per ricevere i delta di testo man mano che Claude li genera. Ogni elemento è una stringa pronta per essere stampata.

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

Ottenere il messaggio finale

Al termine dello streaming, chiami stream.get_final_message() per recuperare l'oggetto completo del messaggio assemblato, inclusi i dati sull'utilizzo e tutti i blocchi di contenuto.

with client.messages.stream(model="claude-opus-4-8", max_tokens=1024,
        messages=[{"role": "user", "content": "Hi"}]) as stream:
    for text in stream.text_stream:
        print(text, end="")
    final = stream.get_final_message()

Uso dei token

La risposta contiene un oggetto usage con input_tokens e output_tokens. Noti che la denominazione differisce da quella di OpenAI, che usa prompt/completion, ma il significato è lo stesso: monitorare il costo di ogni chiamata.

print(message.usage.input_tokens)
print(message.usage.output_tokens)

Differenze tra OpenAI e Anthropic

Ricordi questi contrasti fondamentali: Anthropic inserisce il system prompt in un parametro dedicato, richiede max_tokens, legge il testo da content[0].text e gestisce lo streaming tramite un context manager with. Conoscere queste differenze Le consente di passare da un provider all'altro con sicurezza.

Verifica rapida

Verifichi la Sua conoscenza di Anthropic.

Riepilogo: Claude in Python

Ha creato un client anthropic.Anthropic() e chiamato messages.create() con un max_tokens obbligatorio e un system prompt separato. Ha imparato a leggere le risposte da content[0].text e a monitorare il costo tramite usage.input_tokens / output_tokens.

Per lo streaming ha utilizzato client.messages.stream() come context manager with, iterato su text_stream e recuperato il risultato assemblato con get_final_message().

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
53
Lezioni
225

Domande Frequenti

La lezione «API Anthropic Claude in Python» è gratuita?

Sì — il testo completo di «API Anthropic Claude in Python» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «API Anthropic Claude in Python»?

anthropic.Anthropic(), messages.create(), blocchi di contenuto, extended thinking, streaming Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «API Anthropic Claude in Python»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. API OpenAI: chat.completions e streaming
  2. API Anthropic Claude in Python
  3. Function calling e utilizzo degli strumenti con gli LLM
  4. Prompt engineering per app LLM in produzione
← Torna a Learn AI with Python