PydanticAI: La creación de aplicaciones de IA generativa con Pydantic facilita la creación de aplicaciones de IA de producción.

Introducción general

PydanticAI es un framework de agentes Python basado en Pydantic diseñado para simplificar el desarrollo de aplicaciones de IA generativa. Desarrollado por el equipo de Pydantic, es compatible con una amplia gama de modelos (por ejemplo, OpenAI, Gemini, Groq, etc.) y proporciona flujo de control de tipo seguro y combinaciones de agentes.PydanticAI asegura la eficiencia y la fiabilidad de las aplicaciones de IA generativa a través de la validación de respuestas estructuradas y respuestas de streaming. Su sistema único de inyección de dependencias facilita las pruebas y el desarrollo iterativo, e integra Logfire para depurar y monitorizar el rendimiento de la aplicación.PydanticAI está actualmente en fase beta temprana y la API está sujeta a cambios, los comentarios de los usuarios son bienvenidos.

 

Lista de funciones

  • Compatibilidad con varios modelosCompatible con OpenAI, Gemini, Groq y muchos otros modelos de IA generativa.
  • seguridad de tipoValidación de respuestas estructuradas mediante Pydantic para garantizar la seguridad de los tipos de datos.
  • Sistema de inyección de dependenciaProporciona una inyección de dependencias segura para facilitar las pruebas y el desarrollo iterativo.
  • respuesta en tiempo real: Admite la respuesta y validación de secuencias para mejorar la capacidad de respuesta y la fiabilidad de las aplicaciones.
  • Integración de Logfire: para depurar y supervisar el rendimiento y el comportamiento de las aplicaciones de IA generativa.
  • interfaz sencilla: Proporciona interfaces limpias para facilitar la ampliación y la integración con otros modelos.

 

Utilizar la ayuda

Proceso de instalación

  1. Instalación de PydanticAIAsegúrate de que la versión de Python es 3.9 o superior e instala PydanticAI usando el siguiente comando:
   pip install pydantic-ai
  1. Instalación de dependenciasPydanticAI depende de una serie de librerías y APIs LLM, y estas dependencias se gestionan automáticamente durante la instalación.

Normas de uso

Creación de un proxy simple

  1. Definición de los agentes: Crea un agente simple y especifica el modelo a utilizar.
   from pydantic_ai import Agent
agent = Agent(
'gemini-1.5-flash',
system_prompt='Be concise, reply with one sentence.',
)
  1. Agentes de ejecución: Ejecución simultánea de agentes para un diálogo sencillo.
   result = agent.run_sync('Where does "hello world" come from?')
print(result.data)

Ejemplo de proxy complejo

  1. Definir modelos de dependencia y resultados: Utiliza Pydantic para definir modelos de dependencia y de resultados.
   from dataclasses import dataclass
from pydantic import BaseModel, Field
from pydantic_ai import Agent, RunContext
from bank_database import DatabaseConn
@dataclass
class SupportDependencies:
customer_id: int
db: DatabaseConn
class SupportResult(BaseModel):
support_advice: str = Field(description='Advice returned to the customer')
block_card: bool = Field(description="Whether to block the customer's card")
risk: int = Field(description='Risk level of query', ge=0, le=10)
  1. Creación de agentes de asistencia: Define las sugerencias del sistema y las funciones de utilidad.
   support_agent = Agent(
'openai:gpt-4o',
deps_type=SupportDependencies,
result_type=SupportResult,
system_prompt=(
'You are a support agent in our bank, give the '
'customer support and judge the risk level of their query.'
),
)
@support_agent.system_prompt
async def add_customer_name(ctx: RunContext[SupportDependencies]) -> str:
customer_name = await ctx.deps.db.customer_name(id=ctx.deps.customer_id)
return f"The customer's name is {customer_name!r}"
@support_agent.tool
async def customer_balance(ctx: RunContext[SupportDependencies], include_pending: bool) -> float:
"""Returns the customer's current account balance."""
return await ctx.deps.db.customer_balance(id=ctx.deps.customer_id, include_pending=include_pending)
  1. Ejecutar agente de asistenciaEjecuta el agente con las dependencias definidas.
   async def main():
deps = SupportDependencies(customer_id=123, db=DatabaseConn())
result = await support_agent.run('What is my balance?', deps=deps)
print(result.data)
# 输出示例:support_advice='Hello John, your current account balance, including pending transactions, is $123.45.' block_card=False risk=1
result = await support_agent.run('I just lost my card!', deps=deps)
print(result.data)
# 输出示例:support_advice="I'm sorry to hear that, John. Your card has been blocked for security reasons." block_card=True risk=7

Depuración y supervisión

PydanticAI integra Logfire para depurar y monitorizar el rendimiento y comportamiento de las aplicaciones de IA generativa. Con Logfire, puede ver el funcionamiento del agente en tiempo real, analizar los datos de respuesta y optimizar el rendimiento de la aplicación.

Comentarios y mejoras

PydanticAI se encuentra actualmente en fase beta y la API está sujeta a cambios. Los usuarios pueden enviar sus comentarios a través de GitHub si encuentran algún problema o tienen sugerencias de mejora durante su uso.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...