
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.
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.
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.
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.
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.
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.
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.
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é.
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.
¿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.