Saltar al contenido principal
PydanticAI es un framework de agentes para Python del equipo de Pydantic. Ofrece dependencias tipadas, tool calling, salidas estructuradas y streaming sobre proveedores de LLM. Venice funciona como backend compatible con OpenAI: apunta OpenAIChatModel a Venice y sigue utilizando el resto de la API de PydanticAI como siempre.

Requisitos previos

Configuración

Instala PydanticAI con soporte para OpenAI:
También puedes instalar el paquete completo pydantic-ai, que incluye los extras de OpenAI. Añade tu API key de Venice al entorno:
Mantén las API keys fuera del control de código fuente. En producción, usa preferentemente variables de entorno o un gestor de secretos.

Configura Venice como proveedor del modelo

Venice habla la API de Chat Completions de OpenAI. Usa OpenAIChatModel con OpenAIProvider y la URL base de Venice:
Usa OpenAIChatModel (Chat Completions), no OpenAIResponsesModel ni el atajo openai:. La vía principal de compatibilidad de Venice es /chat/completions. Fijar Chat Completions evita el comportamiento exclusivo de Responses que los modelos por defecto de OpenAI utilizan en versiones más recientes de PydanticAI.

Variables de entorno

OpenAIProvider también lee OPENAI_API_KEY y OPENAI_BASE_URL. Puedes configurar Venice de esa forma en lugar de pasar argumentos en el código:

Ejecutar un agente

El uso asíncrono sigue el mismo patrón con await agent.run(...):

Recibir una respuesta en streaming

Usa run_stream cuando quieras recibir los tokens a medida que llegan:

Salida estructurada

Pasa un modelo de Pydantic como output_type para validar la respuesta final del agente:
Consulta los modelos que soportan respuestas estructuradas y function calling antes de depender de la salida estructurada basada en herramientas en producción.

Herramientas

Registra herramientas con @agent.tool_plain (sin contexto del agente) o @agent.tool (necesita RunContext):

Parámetros específicos de Venice

Pasa las opciones exclusivas de Venice a través de ModelSettings.extra_body. Por ejemplo, activa la búsqueda web integrada con venice_parameters:
También puedes sobrescribir la configuración en cada ejecución:
Consulta la especificación de la API para ver la lista completa de venice_parameters (web scraping, citas, personajes, controles de thinking y toggles de E2EE).

Modelos recomendados

Los IDs de los modelos rotan con el tiempo — confirma los IDs actuales con GET /models o el resumen de modelos.

Ventaja de privacidad

PydanticAI se usa a menudo para agentes que interactúan con datos de la aplicación, contexto del usuario o herramientas internas. Combinarlo con Venice mantiene ese flujo de trabajo sobre inferencia privada y sin censura:
  • Retención cero de datos en los modelos privados: los prompts y payloads de herramientas no se conservan tras la petición
  • Análisis sin censura cuando los agentes necesitan crítica directa o red-teaming
  • Fontanería compatible con OpenAI para que puedas migrar apps existentes de PydanticAI cambiando la URL base del proveedor y la API key

Solución de problemas

Confirma que VENICE_API_KEY (u OPENAI_API_KEY) está definida en el proceso que ejecuta el agente. Reinicia la shell o el proceso después de cambiar variables de entorno.
Usa un ID de modelo actual desde la página de modelos. Establece base_url como https://api.venice.ai/api/v1 sin ruta final: PydanticAI añade /chat/completions.
Prefiere OpenAIChatModel con un OpenAIProvider explícito. Evita el atajo directo openai: del agente, que puede apuntar a la Responses API de OpenAI en lugar de Chat Completions.
Elige un modelo compatible con function calling, describe en instructions cuándo deben ejecutarse las herramientas y mantén precisos los docstrings de las herramientas: PydanticAI construye los esquemas JSON a partir de las firmas y la documentación.

Docs de PydanticAI

Agentes, herramientas, dependencias y tipos de salida

Modelos de Venice

Explora los modelos y las capacidades soportadas