Índice de contenidos

Una API compatible con OpenAI sigue el formato de solicitud y respuesta de OpenAI lo suficiente como para que un cliente de OpenAI existente pueda comunicarse con otro proveedor de LLM. En muchas aplicaciones, cambiar de proveedor comienza con tres cambios de configuración: la URL base, la API Key y el ID del modelo.
Estos cambios conectan la aplicación al nuevo servicio. No garantizan que cada endpoint, parámetro o capacidad del modelo se comporte de forma idéntica. Una migración fiable también pone a prueba el streaming, las llamadas a herramientas, la salida estructurada, los límites de token, los errores, la latencia, el coste y la calidad de las tareas.

¿Qué significa una API compatible con OpenAI?
Una API compatible con OpenAI suele aceptar solicitudes con una estructura similar a esta:
La respuesta puede contener campos familiares como id, model, choices, message, finish_reason y usage. Por lo tanto, los desarrolladores pueden seguir utilizando el SDK de Python o JavaScript de OpenAI mientras dirigen las solicitudes a otro host de API.
La compatibilidad con OpenAI es una convención práctica, no una certificación formal. Cada proveedor decide qué endpoints, campos y funciones admite. Evalúe la compatibilidad en cuatro niveles:
Capa de compatibilidad | Lo que puede permanecer igual | Lo que aún requiere pruebas |
|---|---|---|
Transporte | Solicitudes HTTPS y autenticación Bearer | URL base, encabezados y tiempos de espera |
Esquema de solicitud | model, messages y stream | Parámetros opcionales y roles de mensaje |
Esquema de respuesta | choices, message y usage | Campos faltantes, adicionales o renombrados |
Capacidad del modelo | Generación básica de Text | Herramientas, JSON Mode, razonamiento, Vision y límites de contexto |
Una API puede coincidir con el formato de solicitud esperado y al mismo tiempo producir un comportamiento de modelo diferente.
¿Qué partes de la API de OpenAI suelen ser compatibles?
El endpoint con soporte más generalizado es:
Los elementos habitualmente compatibles incluyen:
Identificadores de model
Mensajes de system, user y assistant
Respuestas sin streaming
Parámetros como temperature, top_p y stop
Límites de token de Output
Campos de uso de token
Definiciones de herramientas
Algunos proveedores también implementan GET /v1/models. En SiliconFlow, el endpoint de lista de modelos devuelve los ID de modelo disponibles y permite filtrar por tipo de modelo o tarea.
La compatibilidad con Chat Completions no implica la compatibilidad con todas las demás interfaces de OpenAI. Una aplicación que utilice la API Responses, sesiones en tiempo real, gestión de archivos, procesamiento por lotes, fine-tuning, generación de Image o endpoints de Audio debe verificar cada endpoint requerido por separado.
Cómo funcionan las URL base, las API Keys y los ID de modelo
Estos tres ajustes determinan adónde va la solicitud, cómo se autentica y qué despliegue la procesa.
Ajuste | Propósito | ¿Portátil entre proveedores? |
|---|---|---|
URL base | Selecciona el host de la API y la ruta versionada | No |
API key | Autentica solicitudes y asocia el uso a una cuenta | No |
ID de modelo | Selecciona un despliegue de modelo | Por lo general, no |
Para la API internacional de SiliconFlow, la URL base es:
Cada proveedor emite sus propias API Keys. Por lo general, una clave creada para un proveedor no puede autenticar una solicitud directa a otro.
Los ID de modelo también son específicos de cada proveedor. Incluso cuando dos servicios alojan modelos de la misma familia, sus ID, versiones, límites de contexto, parámetros admitidos o configuraciones de despliegue pueden diferir. Un ID de modelo actual de SiliconFlow, por ejemplo, es:
Obtenga el ID del modelo del catálogo actual del proveedor en lugar de crearlo a partir de un nombre visible.
Por qué los desarrolladores utilizan API compatibles con OpenAI
La principal ventaja es la reducción del trabajo de integración. Los equipos pueden mantener los métodos familiares del SDK y las estructuras de la aplicación mientras evalúan diferentes modelos alojados.
Esto puede ayudar a los desarrolladores a:
Comparar modelos con los mismos prompts y casos de prueba
Reutilizar interfaces de Chat y herramientas de desarrollo existentes
Separar los ajustes de los proveedores de la lógica de la aplicación
Preparar rutas alternativas para fallos temporales del servicio
En SiliconFlow, una única superficie de API proporciona acceso a múltiples familias de modelos. Los equipos pueden comparar opciones generales de Chat, programación, razonamiento y Multimodal sin tener que crear un nuevo cliente para cada desarrollador de modelos.
La interfaz reduce el trabajo de conexión. La selección del modelo aún requiere pruebas en las tareas reales de la aplicación.
Cómo alternar una aplicación entre proveedores de LLM
Mantenga los valores específicos del proveedor fuera del código de la aplicación:
Tras instalar el SDK de Python de OpenAI actual, configure el cliente a partir de esas variables de entorno:
La configuración compatible con OpenAI de SiliconFlow utiliza el mismo cliente con la URL base de SiliconFlow. El tiempo de espera de 60 segundos de este ejemplo es un punto de partida. Ajústelo en función del modelo seleccionado, la longitud esperada de la salida y el objetivo de latencia.
Cambiar las tres variables de entorno modifica el destino, las credenciales y el modelo. Antes de enviar tráfico de producción, pruebe las siguientes capacidades:
Prueba | Qué verificar |
|---|---|
Completado básico | El Text aparece en el campo de respuesta esperado |
Input multiturno | Se aceptan los roles de mensaje obligatorios |
Streaming | Los fragmentos llegan correctamente y finalizan de forma limpia |
Límite de Output | Se admite el parámetro de límite seleccionado |
Llamadas a herramientas | Los nombres, ID y argumentos de las herramientas son válidos |
Output JSON | El resultado se analiza y supera la validación del esquema |
Datos de uso | Los campos de token son adecuados para el informe de costes |
Gestión del contexto | Las solicitudes de gran tamaño fallan o se truncan de forma predecible |
Gestión de errores | Las respuestas 400, 401, 429 y 5xx siguen las rutas probadas |
Calidad de la tarea | Los resultados cumplen el umbral de aceptación de la aplicación |
Para una migración a producción, compare ambos proveedores en un conjunto fijo de tareas reales. Defina umbrales de aprobación para la validez del formato, la calidad de la respuesta, el éxito de las herramientas, la latencia y el coste por tarea exitosa. Envíe primero un pequeño porcentaje del tráfico apto al nuevo proveedor, supervise los resultados y mantenga disponible la configuración anterior para poder revertir los cambios.
Lo que no garantiza ser compatible con OpenAI
Los modelos compatibles con OpenAI pueden aceptar la misma estructura de solicitud sin ser operativamente intercambiables. La compatibilidad no garantiza:
Soporte para cada endpoint de OpenAI
Límites de contexto y de Output idénticos
Tokenización o recuento de token idénticos
Comportamiento equivalente en herramientas, streaming o roles de mensaje
El mismo comportamiento de seguridad, límites de frecuencia, latencia o precios
Resultados similares de modelos relacionados o con nombres similares
También pueden aparecer campos de respuesta específicos del proveedor. Por ejemplo, los modelos de razonamiento de SiliconFlow pueden devolver reasoning_content junto con el contenido final. Las aplicaciones deben tolerar los campos desconocidos y gestionar explícitamente cualquier campo adicional que necesiten.

Mantenga los parámetros específicos del proveedor bajo comprobaciones de capacidad. No envíe controles de razonamiento, campos de Multimodal, opciones de Input en caché u otras extensiones a todos los proveedores de forma predeterminada.
Llamadas a herramientas, JSON Mode y compatibilidad de funciones
Las funciones avanzadas deben verificarse para el modelo seleccionado, no solo para el proveedor.
Llamadas a herramientas
Las llamadas a herramientas permiten que un modelo devuelva el nombre de una función y sus argumentos. La aplicación sigue siendo responsable de validar dichos argumentos, ejecutar la función y devolver el resultado.
En SiliconFlow, las solicitudes de herramientas al estilo de OpenAI están disponibles para los despliegues compatibles, pero los requisitos a nivel de modelo pueden variar. Compruebe la compatibilidad actual de llamadas a funciones y ejecute una prueba real de llamadas a herramientas antes del lanzamiento.
Las aplicaciones en producción deben:
Validar los argumentos contra un esquema
Rechazar nombres de función desconocidos
Aplicar permisos fuera del modelo
Añadir tiempos de espera a las herramientas externas
Requerir aprobación para acciones sensibles
Gestionar respuestas que no contengan una llamada a herramienta
No ejecute argumentos generados por el modelo con eval() o mecanismos similares.
JSON Mode
El JSON Mode suele utilizar:
Esto mejora la capacidad de análisis sintáctico, pero no demuestra que la salida coincida con el esquema requerido por la aplicación. Es posible que falten campos, que los valores utilicen un tipo incorrecto y que la salida esté incompleta si la generación alcanza su límite de token.
Las instrucciones de JSON Mode de SiliconFlow detallan la compatibilidad actual y advierten de que las aplicaciones deben gestionar objetos JSON incompletos. Analice la respuesta de forma segura, valídela con un esquema local y defina una ruta de reparación o reintento para los resultados no válidos.
Problemas habituales de migración a comprobar
Utilice el estado HTTP y el mensaje de respuesta para separar los errores de configuración de los fallos temporales del servicio.
Síntoma | Causa probable | Qué comprobar |
|---|---|---|
HTTP 400 | Solicitud no válida, parámetro no admitido o ID de modelo desconocido | Verifique el ID del modelo y vuelva a añadir los parámetros opcionales de forma individual |
HTTP 401 | Clave faltante, incorrecta o no coincidente con el proveedor | Confirme el origen de la clave y el entorno |
HTTP 403 | Restricción de permisos de cuenta o de modelo | Compruebe los requisitos de acceso para el modelo seleccionado |
HTTP 404 | Endpoint o ruta de URL incorrectos | Compruebe la URL base y si /v1 ya está incluido |
HTTP 429 | Límite de frecuencia de solicitudes o de token | Aplique una pausa, reduzca la concurrencia o revise los límites de la cuenta |
HTTP 503 o 504 | Alta carga de servicio o tiempo de espera agotado | Reintente con retroceso gradual (backoff) y considere el uso de streaming |
Contenido vacío | Llamada a herramienta o campo de respuesta específico del proveedor | Inspeccione el objeto de respuesta completo |
Streaming interrumpido | Diferencia en el formato de fragmentos o en el almacenamiento en búfer del cliente | Pruebe el analizador de streaming por separado |
JSON no válido | Truncamiento o JSON Mode no admitido | Revise el límite de Output y valide la compatibilidad del modelo |
Menor calidad en la tarea | Comportamiento o valores predeterminados del modelo diferentes | Vuelva a comprobar la configuración del modelo, el prompt y los parámetros de muestreo |
La referencia de gestión de errores de SiliconFlow distingue los fallos de parámetros, autenticación, permisos, límites de frecuencia y carga del servidor. Registre el proveedor, el modelo, el estado HTTP y el ID de la solicitud sin guardar API Keys ni entradas confidenciales sin censurar.
Cuándo tiene sentido una API de LLM unificada
Un cliente configurable compatible con OpenAI suele ser suficiente cuando una aplicación utiliza un solo proveedor a la vez. Una pasarela unificada o un adaptador interno resulta útil cuando operan varios proveedores de forma simultánea.
Considere una capa unificada cuando necesite:
Enrutamiento de modelos basado en tareas
Conmutación por error automática para fallos reintentables
Gestión centralizada de credenciales
Políticas compartidas de tiempos de espera y reintentos
Informes de costes entre proveedores
Presupuestos o límites de frecuencia por equipo
Alias internos estables para los modelos
Lanzamientos y reversiones controlados de modelos
Enrutamiento basado en capacidades para herramientas, Vision o JSON

Esta capa también genera trabajo adicional. Debe normalizar los errores y los datos de uso, mantener registros de capacidades y preservar el acceso a funciones útiles específicas de cada proveedor.
Utilice la configuración junto con pruebas de regresión para cambios ocasionales de proveedor. Añada una pasarela cuando el enrutamiento, la gobernanza, la observabilidad o la conmutación por error sean un requisito de producción continuo. Una API compatible con OpenAI facilita la migración, mientras que la portabilidad fiable proviene de comprobaciones de capacidad explícitas y de la evaluación al nivel de cada tarea.
Preguntas frecuentes
¿Está una API compatible con OpenAI afiliada a OpenAI?
No. El término describe un patrón de interfaz y no establece una afiliación comercial o técnica con OpenAI. El proveedor compatible opera su propia infraestructura, catálogo de modelos, cuentas, credenciales, facturación, límites y términos.
¿Es gratis usar una API de LLM compatible con OpenAI?
No necesariamente. La compatibilidad describe el formato de solicitud y respuesta, no los precios. Un proveedor puede ofrecer saldo de prueba, modelos seleccionados sin coste, facturación basada en el uso, suscripciones o contratos empresariales. Compruebe el precio actual del modelo alojado exacto antes de su despliegue.
¿Puede una aplicación continuar la misma conversación después de cambiar de proveedor?
Por lo general, sí, si la aplicación envía el historial de conversación con cada solicitud. Confirme que el nuevo modelo admite los roles de mensaje, los tipos de contenido y el tamaño total de contexto. Es posible que las respuestas sigan variando, ya que diferentes modelos interpretan el mismo historial de forma distinta.
¿Debería producirse una conmutación por error de proveedor tras cada error de API?
No. La conmutación por error es más adecuada para problemas reintentables, como límites de frecuencia, tiempos de espera agotados o sobrecargas temporales del servicio. Los errores de autenticación, permisos, solicitudes no válidas y modelos desconocidos normalmente requieren una corrección de configuración en lugar de una llamada a otro proveedor.
