Runtime de Python
para AI-Protocol.
Cliente de IA orientado al protocolo y amigable para desarrolladores. Códigos de error estándar V2 (13 códigos), extras basados en capacidades (8 extras + completo), soporte completo asíncrono, seguridad de tipos con Pydantic v2, telemetría de producción y enrutamiento inteligente de modelos. Python 3.10+.
pip install ai-lib-python Características principales
Códigos de error V2 y extras de capacidades
13 códigos de error estándar V2 para un manejo de errores consistente. Extras basados en capacidades: 8 extras opcionales más uno completo para instalaciones mínimas o completas.
Diseño asíncrono primero
async/await nativo en toda la API. Transporte basado en httpx con pool de conexiones. CancellableStream para terminación elegante de flujos.
Tipos Pydantic v2
Tipos completos con validación Pydantic v2. ProtocolManifest, Message, ContentBlock, StreamingEvent — todo tipado con validación en tiempo de ejecución.
ResilientExecutor
ResilientExecutor combina backpressure, limitación de tasa, circuit breaker y reintentos con backoff exponencial. PreflightChecker valida solicitudes antes de ejecutar.
Enrutamiento de modelos
ModelManager con ModelArray para selección inteligente de modelos. Estrategias: round-robin, ponderado, basado en coste y basado en calidad.
Telemetría de producción
MetricsCollector con exportación a Prometheus. Trazado distribuido con OpenTelemetry. Logging estructurado. Monitoreo de salud. Recopilación de feedback de usuarios.
Salida estructurada
Configuración de modo JSON, generación de esquema desde modelos Pydantic, validación de salida. Guardrails con filtros de contenido y detección de PII.
Pythonic e intuitivo
API limpia y Pythonic que se siente natural. Crea un cliente desde un identificador de modelo, construye solicitudes con un builder fluido e itera sobre eventos de streaming unificados.
El mismo código funciona con todos los proveedores. Cambia de OpenAI a Anthropic a DeepSeek modificando una sola cadena — el manifiesto del protocolo gestiona el resto.
from ai_lib_python import AiClient
# Works with ANY provider
client = await AiClient.create(
"anthropic/claude-3-5-sonnet"
)
# Streaming chat
async for event in client.chat() \
.user("Explain AI-Protocol") \
.temperature(0.7) \
.max_tokens(1000) \
.stream():
if event.is_content_delta:
print(event.as_content_delta.text,
end="")
# Non-streaming with stats
response, stats = await client.chat() \
.user("Summarize this") \
.execute_with_stats()
print(f"Tokens: {stats.total_tokens}")
print(f"Latency: {stats.latency_ms}ms") Arquitectura interna
La misma arquitectura en capas que el runtime de Rust — orientada al protocolo, basada en operadores, resiliente por defecto.
Resumen de módulos
client/ + errors/standard_codes/
AiClient, AiClientBuilder, ChatRequestBuilder, ChatResponse, CallStats, CancelToken, CancellableStream.
protocol/
ProtocolLoader (local/env/GitHub), modelos de manifiesto Pydantic, validador JSON Schema, soporte de recarga en caliente.
pipeline/
Decoder (SSE, JSON Lines, Anthropic SSE), Selector (JSONPath), Accumulator, FanOut, EventMapper (orientado al protocolo, por defecto, Anthropic).
resilience/
ResilientExecutor, RetryPolicy, RateLimiter, CircuitBreaker, Backpressure, FallbackChain, SignalsSnapshot, PreflightChecker.
routing/
ModelManager, ModelArray, estrategias de selección (round-robin, ponderado, basado en coste, basado en calidad). Catálogos preconfigurados para proveedores principales.
telemetry/
MetricsCollector (Prometheus), Tracer (OpenTelemetry), Logger estructurado, HealthChecker, recopilación de feedback de usuarios.
embeddings/ + tokens/
EmbeddingClient con operaciones vectoriales. TokenCounter (integración tiktoken) y estimación de costes para seguimiento de uso.
plugins/ + structured/
Clase base de plugins, PluginRegistry, HookManager, cadena de middleware. Config de modo JSON, SchemaGenerator, OutputValidator.