← Blog
September 25, 2025

Pase de OpenAI a su propio punto final de LLM sin romper nada

Los equipos cambian por tres motivos: costo, control y datos. Quieres un terminal privado, un rendimiento predecible y una factura que puedas explicar. La buena noticia es que no tienes que reconstruir tu aplicación para conseguirlo. Si tu cliente habla con OpenAI hoy, puedes diríjalo a su propio servidor y mantén la mayor parte de tu código igual.

Prueba Compute hoy
¿Quiere un punto final listo? Lanza un VLLM servidor en Calcular, elige una región y obtén una URL HTTPS que funcione con los SDK de OpenAI. Cambia la URL base y la clave de tu cliente y estarás en línea.

Qué debe significar «compatible con OpenAI»

Compatibilidad no es un eslogan. Significa que el servidor muestra las mismas rutas y formas de carga útil: /v1/chat/completions, /v1/completions y streaming con eventos enviados por el servidor. Sigues enviando modelos, mensajes, max_tokens, temperatura y mucho más. Los errores deben seguir estructuras similares para que tu gestión actual siga funcionando.

Mapee sus modelos y parámetros

Cree un mapa modelo pequeño en la configuración. Su catálogo será diferente al de OpenAI. Mantenga los nombres estables y los valores predeterminados de los documentos. Comience con ajustes sencillos y seguros: temperatura de 0,3 a 0,7, top_p 0.9 y max_tokens ajustados. Revisa las secuencias de parada, las penalizaciones por presencia o frecuencia y cualquier campo específico del servidor.

Actualiza tu cliente

Pitón

desde openai importar OpenAI
client = OpenAI (base_url=» https://YOUR-ENDPOINT/v1 «, API_KEY="Your_key»)

resp = client.chat.completions.create (
model="f3-7b-instruct», # ejemplo
messages= [{"role» :"user», "content» :"Escribe una breve actualización de estado. «}],
max_tokens=200,
)
imprimir (resp.choices [0] .message.content)

Nodo

importar OpenAI desde «openai»;
const client = new OpenAI ({baseUrl: "https://YOUR-ENDPOINT/v1 «, apiKey: process.env.key});

const resp = esperar a client.chat.completions.create ({
modelo: «f3-7b-instruct»,
messages: [{role: «user», content: «Resuma las notas de la reunión de ayer».}],
número máximo de tokens: 200
});
console.log (resp.choices [0] .message.content);

Mantén tu lógica de reintento. Mantenga los tiempos de espera razonables. Registra el identificador de la solicitud (o proporciona uno) para poder rastrear los problemas en el cliente y el servidor.

Start in seconds with the fastest, most affordable cloud GPU clusters.

Launch an instance in under a minute. Enjoy flexible pricing, powerful hardware, and 24/7 support. Scale as you grow—no long-term commitment needed.

Try Compute now

La transmisión se hace bien

Usa los eventos enviados por el servidor cuando tu interfaz de usuario espere una transmisión en directo. Prueba ambas opciones: flujo continuo y cancelaciones abruptas. Verifique que las generaciones parciales se puedan utilizar si un usuario se detiene antes de tiempo. Asegúrese de que su cliente decodifique los fragmentos correctamente y borre los búferes entre las solicitudes.

Planifique los límites de velocidad y los reintentos

Cíñete a un retroceso exponencial con fluctuación. Haga que las solicitudes sean idempotentes cuando pueda. Prefiera el 429 para las señales de retroceso e incluya una pista sobre cuándo volver a intentarlo. En el lado del servidor, configure límites compatibles con los tokens por lo que un chat con grandes indicaciones no congela a los demás.

Mantenga los costos bajo control

La desviación del presupuesto proviene de indicaciones largas y max_tokens sueltos. Tapa ambos. Transmite los resultados. Almacene en caché las indicaciones del sistema. Si usa RAG, mantenga los fragmentos pequeños y relevantes. Esté atento a las discrepancias de tokenización entre los SDK.

Mida antes y después

Pista métricas que importan: tiempo hasta el primer token (TTFT) y fichas por segundo (TPS) para las mismas tareas en ambos terminales. Un servidor autohospedado cerca de los usuarios, con un procesamiento por lotes eficiente, debería mejorar ambas cosas. Si no es así, ajuste el tamaño correcto del hardware, reduzca las instrucciones y compruebe el estado de la caché.

Privacidad y residencia

Decide lo que registras, durante cuánto tiempo y quién puede leerlo. Evite almacenar las solicitudes y los resultados sin procesar, a menos que sea necesario. Usa HTTPS. Rota las teclas. Si operas en Europa, mantén los datos por región y conserva y elimina los documentos.

Prueba Compute
Terminales de cómputos son HTTPS de forma predeterminada. Elige Francia para los usuarios de la UE o una región de los Emiratos Árabes Unidos para los mercados cercanos.

Lista de verificación de migración

  1. Escriba un modelo y un mapa de parámetros.
  2. Intercambia la URL base y la clave de tu cliente.
  3. Pruebe el chat y la transmisión con un conjunto de mensajes fijo.
  4. Verifique las formas de error y el comportamiento de los reintentos.
  5. Limite max_tokens y recorte las indicaciones.
  6. Añade límites de velocidad compatibles con los tokens en la pasarela.
  7. Registra TTFT, TPS, longitud de cola y uso de memoria.
  8. Elige una región cercana a los usuarios y confirma la latencia.
  9. Revise las políticas de registro y retención.
  10. Despliegue gradualmente y observe los números.

PREGUNTAS MÁS FRECUENTES

¿El streaming funciona de la misma manera?
Sí, si el servidor admite eventos enviados por el servidor para /chat/completions. Pruebe la decodificación por fragmentos y el comportamiento de parada temprana en su cliente.

¿Qué pasa con las diferencias de tokenización?
Los diferentes modelos utilizan diferentes tokenizadores. Mantén el tokenizador y el modelo sincronizados y comprueba los recuentos en tus cálculos presupuestarios.

¿Cómo puedo probar la compatibilidad rápidamente?
Ejecute un pequeño conjunto de mensajes de chat en ambos terminales y compare las respuestas, las latencias y los códigos de error. Añade una prueba de streaming y una prueba de tiempo de espera.

¿Puedo conservar los datos en la UE?
Sí. Aloje el punto final en una región de la UE, utilice HTTPS, controle el acceso con claves y listas de IP y defina los límites de retención.