AI-Lib
v1.0.0 · PyPI

Runtime Python
para AI-Protocol.

Cliente AI asíncrono orientado a protocolo (v1.0.0). Ruta: manifiesto → Pipeline → httpx. Tipos Pydantic v2, 13 códigos V2, extras pip y resiliencia opt-in. Python 3.10+.

Terminal
pip install ai-lib-python

Características clave

Códigos de error V2 y extras de capacidad

13 códigos de error estándar V2. Extras por capacidad: 8 opcionales más un extra full.

Diseño async-first

async/await nativo de extremo a extremo. Transporte httpx con pool de conexiones. CancellableStream para terminar streams con gracia.

Tipos Pydantic v2

Tipado completo con validación Pydantic v2. ProtocolManifest, Message, ContentBlock y StreamingEvent son type-safe con validación en runtime.

Ejecutor resiliente

ResilientExecutor combina backpressure, límite de tasa, circuit breaker y reintentos con backoff exponencial. PreflightChecker filtra peticiones antes de ejecutar.

Enrutamiento de modelos

ModelManager + ModelArray para selección inteligente. Estrategias: round-robin, ponderada, por coste y por calidad.

Telemetría de producción

MetricsCollector con exportación Prometheus. Trazas OpenTelemetry. Logging estructurado, salud y feedback de usuario.

Salida estructurada

Modo JSON, generación de schema desde modelos Pydantic y validación de salida. Guardrails con filtros de contenido y detección de PII.

Pythonic e intuitivo

Una API limpia y pythonic. Crea un cliente desde un identificador de modelo, construye peticiones con un builder fluido e itera eventos de streaming unificados.

El mismo código funciona con todos los proveedores. Cambia de OpenAI a Anthropic o DeepSeek con un solo string: el manifiesto 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

Misma arquitectura por capas que el runtime Rust: orientada a protocolo, por operadores y con resiliencia opt-in.

Arquitectura del runtime ai-lib-python Capa de cliente AiClient · AiClientBuilder · ChatRequestBuilder · ChatResponse Motor de políticas PreflightChecker · SignalsSnapshot · FallbackChain Capa de protocolo ProtocolLoader · Manifest · Validator Capa de resiliencia CircuitBreaker · RateLimiter · Retry Pipeline de streaming Decoder Selector Accumulator FanOut EventMapper Capa de transporte HttpTransport (httpx) · Auth · Connection Pool OpenAI · Anthropic · Gemini · DeepSeek · Qwen · 37 Proveedores

Resumen de módulos

client/ + errors/standard_codes/

AiClient, AiClientBuilder, ChatRequestBuilder, ChatResponse, CallStats, CancelToken, CancellableStream.

protocol/

ProtocolLoader (local/env/GitHub), modelos Pydantic de manifiesto, validador JSON Schema y hot-reload.

pipeline/

Decoder (SSE, JSON Lines, Anthropic SSE), Selector (JSONPath), Accumulator, FanOut, EventMapper (protocolo / default / Anthropic).

resilience/

ResilientExecutor, RetryPolicy, RateLimiter, CircuitBreaker, Backpressure, FallbackChain, SignalsSnapshot, PreflightChecker.

routing/

ModelManager, ModelArray y estrategias (round-robin, ponderada, coste, calidad). Catálogos preconfigurados para proveedores principales.

telemetry/

MetricsCollector (Prometheus), Tracer (OpenTelemetry), Logger estructurado, HealthChecker y recogida de feedback.

embeddings/ + tokens/

EmbeddingClient con operaciones vectoriales. TokenCounter (tiktoken) y estimación de coste.

plugins/ + structured/

Clase base Plugin, PluginRegistry, HookManager y middleware. Config JSON mode, SchemaGenerator, OutputValidator.

Empieza a construir con Python