🤖 Cos'è PydanticAI?
PydanticAI è un nuovo progetto del team di Pydantic che estende la potenza dei modelli dati a un nuovo livello: agenti AI autonomi, modulari e altamente configurabili. Non si tratta solo di validazione intelligente — anche se quella è una parte importante — ma di un framework completo per orchestrare modelli linguistici (LLM), strumenti, prompt e flussi di lavoro AI-driven.
Con un approccio tipato, strutturato e testabile, PydanticAI si propone come un coltellino svizzero per sviluppatori Python che lavorano con LLM e desiderano una base solida e componibile per le loro applicazioni AI.
🔥 Perché usarlo?
- ✅ Tipi forti: interagisci con l’LLM attraverso modelli Pydantic.
- ✅ Agenti modulari: un’astrazione chiara e riusabile.
- ✅ Integrazione nativa con strumenti, prompt, LLM.
- ✅ Compatibilità con i principali provider AI (OpenAI, Anthropic, Gemini, Ollama...).
- ✅ Debug e metriche live via Logfire.
🚀 Come funziona? Il cuore è l’agente
Con PydanticAI puoi creare un agente con pochi parametri. Ecco un esempio minimale:
from pydantic_ai import Agent
agent = Agent(
'openai:gpt-4',
system_prompt='Rispondi in una sola frase.',
)
result = agent.run_sync('Qual è la capitale del Giappone?')
print(result.output)
🧠 Prompt strutturati + strumenti reali
Un agente può essere arricchito con strumenti funzionali, ovvero funzioni Python registrate che possono essere invocate automaticamente dal modello quando rilevanti.
from pydantic_ai import Agent, tool
@tool
def ottieni_meteo(città: str) -> str:
return f"Oggi a {città} ci sono 24°C e sole."
agent = Agent(
'openai:gpt-4',
tools=[ottieni_meteo],
system_prompt='Puoi usare strumenti per rispondere.'
)
res = agent.run_sync("Che tempo fa a Roma?")
print(res.output)
🧩 Modelli strutturati: output controllati
Invece di ricevere semplice testo, puoi definire output con schemi Pydantic, assicurandoti che la risposta dell'LLM sia parsata, coerente e validata:
from pydantic import BaseModel
from pydantic_ai import Agent
class Destinazione(BaseModel):
città: str
attività: list[str]
agent = Agent(
'openai:gpt-4',
output_model=Destinazione,
system_prompt="Suggerisci una destinazione e 3 attività."
)
res = agent.run_sync("Voglio una vacanza estiva.")
print(res.output.dict())
🔧 Iniezione di dipendenze (come FastAPI)
I tool possono richiedere dipendenze esplicite, come un client API o una connessione al database. L'iniezione avviene come in FastAPI:
class MeteoService:
def get(self, città: str) -> str:
return f"{città}: sole"
@tool
def ottieni_meteo(città: str, service: MeteoService) -> str:
return service.get(città)
agent = Agent(
'openai:gpt-4',
tools=[ottieni_meteo],
dependencies={MeteoService: MeteoService()},
)
🌐 Supporto multi-provider
PydanticAI supporta in modo nativo questi provider LLM:
- 🧠 OpenAI (
gpt-4
,gpt-3.5
) - 🌈 Gemini (Google)
- 🤖 Anthropic (
claude
) - 🧮 DeepSeek, Ollama, Mistral, Cohere, Groq
Puoi cambiare provider senza cambiare codice.
🔭 Monitoraggio e Log con Logfire
Ogni chiamata all’agente può essere tracciata, analizzata e visualizzata con Pydantic Logfire. Utile per debugging avanzato, ottimizzazione prompt e A/B testing.
pip install logfire
export LOGFIRE_API_KEY=...
📊 Eval e test con pydantic-evals
Per chi fa prompt engineering o costruisce applicazioni critiche, pydantic-evals
consente:
- test automatici delle risposte
- validazione semantica
- metriche e benchmark customizzati
🧠 Riepilogo: perché scegliere PydanticAI?
| Caratteristica | Descrizione | |------------------------|---------------------------------------------------------| | Tipi tipizzati | Usa Pydantic per definire input/output LLM | | Modularità | Agenti, strumenti e flussi componibili | | Multi-modello | Supporta più provider AI | | Debug & Monitoraggio | Integrazione con Logfire | | Validazione AI | Prompt + regole intelligenti in un unico flusso | | Eval integrato | Verifica qualità e consistenza delle risposte LLM |
📚 Risorse utili
- 🌐 Sito ufficiale: https://ai.pydantic.dev
- 📦 Codice GitHub: https://github.com/pydantic/ai-pydantic
- 🔧 Esempi pratici: https://ai.pydantic.dev/examples/
- 📘 Documentazione Pydantic: https://docs.pydantic.dev
🗣️ Conclusione
PydanticAI è uno degli strumenti più promettenti del 2025 per chi costruisce agenti AI in Python. È perfetto per integrare modelli generativi in modo strutturato, sicuro e professionale.
Se lavori con FastAPI, chatbot, RAG, automazioni, o sistemi intelligenti, PydanticAI merita un posto nel tuo stack.