Sobre el proyecto

openai-shim es una biblioteca Python ligera y sin dependencias diseñada para unificar el acceso a múltiples proveedores de LLM mediante la traducción de sus APIs al formato de finalización de chat de OpenAI. Soporta conmutación entre proveedores como Anthropic, Ollama y endpoints personalizados, cambiando automáticamente si uno falla debido a límites de tasa, errores o respuestas vacías. La biblioteca gestiona las diferencias en la estructura de la API (por ejemplo, roles faltantes, conteo de tokens, comportamiento de streaming) para que tu código no necesite adaptarse. Puedes definir adaptadores personalizados para cualquier endpoint —incluso servicios HTTP de texto plano— y enrutar solicitudes a través de una lista priorizada de proveedores. También incluye soporte integrado para streaming, estimación de tokens, seguimiento de retiro de modelos y filtrado de capacidades de visión/herramientas. Ideal para construir gateways multi-proveedor resilientes o para hacer proxy de llamadas a LLM sin reescribir la lógica del cliente. Escrita en Python puro de la biblioteca estándar, está probada extensamente con transportes simulados y es adecuada para uso en producción.