Vai al contenuto principale
PydanticAI è un framework Python per agenti sviluppato dal team di Pydantic. Offre dipendenze tipizzate, tool calling, output strutturati e streaming sopra i provider LLM. Venice funziona come backend compatibile con OpenAI: punta OpenAIChatModel a Venice e continua a usare il resto dell’API di PydanticAI come al solito.

Prerequisiti

Setup

Installa PydanticAI con il supporto OpenAI:
Puoi anche installare il pacchetto completo pydantic-ai, che include gli extra OpenAI. Aggiungi la tua API key Venice all’ambiente:
Tieni le API key fuori dal controllo di versione. In produzione, preferisci variabili d’ambiente o un secret manager.

Configurare Venice come model provider

Venice parla l’API OpenAI Chat Completions. Usa OpenAIChatModel con OpenAIProvider e il base URL di Venice:
Usa OpenAIChatModel (Chat Completions), non OpenAIResponsesModel o la scorciatoia openai:. Il percorso di compatibilità principale di Venice è /chat/completions. Fissare Chat Completions evita il comportamento specifico dell’API Responses che i modelli OpenAI di default utilizzano nelle versioni più recenti di PydanticAI.

Variabili d’ambiente

OpenAIProvider legge anche OPENAI_API_KEY e OPENAI_BASE_URL. Puoi configurare Venice in questo modo invece di passare gli argomenti nel codice:

Eseguire un agente

L’uso asincrono segue lo stesso pattern con await agent.run(...):

Streaming di una risposta

Usa run_stream quando vuoi ricevere i token man mano che arrivano:

Output strutturato

Passa un modello Pydantic come output_type per validare la risposta finale dell’agente:
Consulta i modelli che supportano le risposte strutturate e il function calling prima di affidarti in produzione all’output strutturato basato sui tool.

Tool

Registra i tool con @agent.tool_plain (senza contesto dell’agente) o @agent.tool (richiede RunContext):

Parametri specifici di Venice

Passa le opzioni esclusive di Venice tramite ModelSettings.extra_body. Ad esempio, abilita la web search integrata con venice_parameters:
Puoi anche sovrascrivere le impostazioni per singola esecuzione:
Consulta la specifica dell’API per l’elenco completo dei venice_parameters (web scraping, citazioni, character, controlli di thinking e toggle E2EE).

Modelli consigliati

Gli ID dei modelli cambiano nel tempo: verifica gli ID attuali con GET /models o la panoramica dei modelli.

Vantaggio della privacy

PydanticAI viene spesso usato per agenti che toccano dati applicativi, contesto utente o tool interni. Abbinarlo a Venice mantiene quel flusso di lavoro su inferenza privata e senza censura:
  • Zero data retention sui modelli privati — prompt e payload dei tool non vengono conservati dopo la richiesta
  • Analisi senza censura quando gli agenti hanno bisogno di critica diretta o red-teaming
  • Plumbing compatibile con OpenAI così puoi migrare le app PydanticAI esistenti cambiando solo il base URL del provider e l’API key

Troubleshooting

Verifica che VENICE_API_KEY (o OPENAI_API_KEY) sia impostata nel processo che esegue l’agente. Riavvia la shell o il processo dopo aver modificato le variabili d’ambiente.
Usa un ID di modello attuale dalla pagina dei modelli. Imposta base_url a https://api.venice.ai/api/v1 senza path finale: PydanticAI aggiunge /chat/completions.
Preferisci OpenAIChatModel con un OpenAIProvider esplicito. Evita la scorciatoia openai: nell’agente, che potrebbe puntare all’API Responses di OpenAI invece che a Chat Completions.
Scegli un modello che supporti il function calling, descrivi in instructions quando i tool dovrebbero essere invocati e mantieni precise le docstring dei tool: PydanticAI costruisce gli schemi JSON a partire da firme e documentazione.

Documentazione PydanticAI

Agenti, tool, dipendenze e tipi di output

Modelli Venice

Sfoglia i modelli e le capacità supportate