Fai "parlare" Python con un modello AI: chiavi API, richieste HTTP e i primi SDK di Anthropic e OpenAI.
Finora hai addestrato piccoli modelli tuoi (regressione, reti neurali). I grandi modelli di AI generativa (come Claude o GPT) sono troppo grandi per essere eseguiti sul tuo computer: si trovano su server remoti, e Python li raggiunge tramite una API (Application Programming Interface), un "canale" di comunicazione standardizzato su internet.
import anthropic client = anthropic.Anthropic(api_key="la-tua-chiave") risposta = client.messages.create( model="claude-sonnet-4-5", max_tokens=200, messages=[{"role": "user", "content": "Spiega Python in una frase"}] ) print(risposta.content[0].text)
Non si scrive mai una chiave API direttamente nel codice (rischio di condividerla per errore, es. su GitHub). Si mette in un file .env separato, e la si carica a runtime.
requests è la libreria standard per comunicare con servizi web tramite HTTP: inviare richieste GET (leggere dati) o POST (inviare dati) e ricevere risposte, tipicamente in formato JSON.
Un SDK (Software Development Kit) è una libreria pronta che nasconde la complessità delle richieste HTTP dirette, offrendo funzioni semplici come client.messages.create(...) per parlare con il modello.
Le conversazioni con un modello AI sono strutturate come una lista di messaggi, ciascuno con un "ruolo" (user per l'utente, assistant per le risposte del modello) e un contenuto testuale.
Le chiamate API possono fallire (rete assente, chiave non valida, limite di richieste superato): è buona pratica avvolgerle in un try/except, come visto nella guida sulla gestione degli errori.
Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato di questa guida al termine.
Esempio per il punto 1
# Nel file .env (mai condiviso, mai su GitHub): # ANTHROPIC_API_KEY=la-tua-chiave-segreta from dotenv import load_dotenv import os load_dotenv() chiave = os.getenv("ANTHROPIC_API_KEY") print("Chiave caricata:", chiave is not None)
Esempio per il punto 2
import requests risposta = requests.get("https://api.github.com") print(risposta.status_code) # 200 = richiesta riuscita print(risposta.json())
Esempio per il punto 3
import anthropic client = anthropic.Anthropic(api_key=chiave) risposta = client.messages.create( model="claude-sonnet-4-5", max_tokens=100, messages=[{"role": "user", "content": "Ciao!"}] ) print(risposta.content[0].text)
Esempio per il punto 4
try: risposta = client.messages.create( model="claude-sonnet-4-5", max_tokens=100, messages=[{"role": "user", "content": "Ciao!"}] ) print(risposta.content[0].text) except Exception as e: print(f"Errore: {e}")
Tocca ogni termine per vederne la definizione.
Scrivi uno script che chiede all'utente una frase in italiano e usa l'SDK Anthropic per tradurla in inglese, stampando il risultato.
Costruisci una lista di messaggi con un turno utente, un turno assistant (inventato) e un secondo turno utente. Invia tutto al modello e osserva come il contesto precedente influenza la risposta.
Questo codice ha un problema di sicurezza: api_key = "sk-ant-abc123..." scritto direttamente nello script. Spiega perché è pericoloso e come lo risolveresti con python-dotenv.
Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.