PydanticAI: Costruisci agenti AI strutturati e intelligenti con Python

ai-integration - 20/05/2025

🤖 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


🗣️ 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.

👉 Contattami ora