Esta guía reúne buenas prácticas para ayudarte a pasar de un prototipo a producción. Tanto si tienes experiencia en ingeniería de aprendizaje automático como si apenas empiezas a explorar el tema, aquí encontrarás las herramientas que necesitas para usar la plataforma en producción. La guía abarca desde la protección del acceso a nuestra API hasta el diseño de una arquitectura robusta que admita grandes volúmenes de tráfico. Úsala para planificar el despliegue de tu aplicación de modo que sea eficaz y transcurra con el menor número posible de contratiempos.
Si quieres profundizar en las buenas prácticas para pasar a producción, mira nuestra charla del Developer Day:
Configurar tu organización
Cuando inicies sesión en tu cuenta de OpenAI, podrás consultar el nombre y el ID de la organización en la configuración de la organización. El nombre es la etiqueta que identifica a tu organización en las interfaces de usuario. El ID de la organización es su identificador único y puedes usarlo en las solicitudes a la API.
Si perteneces a varias organizaciones, puedes enviar un encabezado para indicar qué organización usar en una solicitud a la API. El uso que generen esas solicitudes se descontará de la cuota de la organización especificada. Si omites el encabezado, el uso se facturará a la organización predeterminada. Puedes cambiar tu organización predeterminada en la configuración de usuario.
Puedes invitar a nuevos miembros a tu organización desde la página del equipo. Los miembros pueden ser lectores o propietarios.
Los lectores:
- Pueden hacer solicitudes a la API.
- Pueden ver la información básica de la organización.
- Pueden crear, actualizar y eliminar recursos de la organización (como los asistentes), salvo que se indique lo contrario.
Los propietarios:
- Tienen todos los permisos de los lectores.
- Pueden modificar la información de facturación.
- Pueden administrar a los miembros de la organización.
Administrar los límites de facturación
Una vez que ingreses tus datos de facturación, OpenAI establecerá el límite de uso aprobado para tu organización. Tu cuota aumentará automáticamente a medida que aumente tu uso de la plataforma y pases de un nivel de uso a otro. Puedes consultar tu límite de uso actual en la página de límites de la configuración de tu cuenta.
Configura alertas de gasto en la página de límites para recibir notificaciones cuando el uso supere un monto determinado en dólares. Para imponer un tope mensual, establece un límite estricto de gasto. Cuando el gasto registrado alcanza ese límite, se detiene el tráfico de la API al que se aplica. Consulta la guía sobre límites de gasto antes de habilitar uno en producción.
Claves de API
La API de OpenAI usa claves de API para la autenticación. Visita la página de claves de API para obtener la clave que usarás en tus solicitudes.
Usa una cuenta de servicio del proyecto para que tu aplicación tenga su propia identidad y no dependa de la clave personal de un desarrollador. Consulta Claves de API y cuentas de servicio para saber cómo elegir las credenciales y automatizar la gestión de proyectos y claves.
Este método de control de acceso es relativamente sencillo, pero debes proteger las claves con cuidado. Evita exponerlas en tu código o en repositorios públicos. Guárdalas en un lugar seguro. Para que tu aplicación pueda acceder a las claves sin que tengas que incluirlas directamente en el código, usa variables de entorno o un servicio de gestión de secretos. Encontrarás más información en nuestras buenas prácticas para proteger las claves de API.
Te recomendamos especialmente que establezcas una fecha de vencimiento al crear una clave de API de proyecto y que definas un proceso de rotación periódica de claves. Antes de que venza una clave, crea otra para reemplazarla y actualiza tus aplicaciones para que usen la nueva. Una vez que verifiques que funciona, revoca la anterior.
Los administradores pueden establecer un período máximo de vigencia para las claves de API de una organización o de un proyecto en la configuración de la plataforma. Las claves nuevas deben vencer dentro del plazo configurado, lo que impide que sigan vigentes indefinidamente. El límite de un proyecto no puede superar el de la organización.
En la sección Gobernanza de claves de API de la configuración de la plataforma, los administradores de organizaciones y proyectos pueden restringir los tipos de claves de API que se pueden crear. Pueden permitir únicamente claves de cuentas de servicio, permitir únicamente claves de proyecto que pertenezcan a usuarios o deshabilitar por completo la creación de claves de API. Las restricciones de la organización siempre tienen prioridad. La configuración de un proyecto permite agregar restricciones, pero no flexibilizar las de la organización. Estos controles se aplican solo a la creación de claves y no afectan a las claves de API existentes.
Una vez habilitado el seguimiento, puedes monitorear el uso de las claves de API en la página de uso. Si usas una clave de API generada antes del 20 de diciembre de 2023, el seguimiento no está habilitado de forma predeterminada. Puedes habilitarlo en el panel de administración de claves de API para registrar el uso a partir de ese momento. Todas las claves de API generadas después del 20 de diciembre de 2023 tienen el seguimiento habilitado. El uso anterior que no se haya registrado aparecerá como Untracked en el panel.
Proyectos de preproducción
A medida que crezca tu aplicación, puede que te convenga crear proyectos separados para los entornos de preproducción y producción. Puedes crear estos proyectos en el panel para aislar el trabajo de desarrollo y pruebas y evitar que interrumpa por accidente el funcionamiento de la aplicación en producción. También puedes restringir el acceso de los usuarios al proyecto de producción y establecer límites de solicitudes y de gasto específicos para cada proyecto.
Escalar la arquitectura de tu solución
Al diseñar una aplicación o un servicio de producción que use nuestra API, considera cómo vas a escalarlo para responder a la demanda de tráfico. Independientemente del proveedor de servicios en la nube que elijas, ten en cuenta los siguientes aspectos:
- Escalado horizontal: puedes escalar tu aplicación horizontalmente para atender solicitudes de varias fuentes. Por ejemplo, puedes desplegar más servidores o contenedores para distribuir la carga. Si eliges este tipo de escalado, asegúrate de que tu arquitectura admita varios nodos y de que tengas mecanismos para equilibrar la carga entre ellos.
- Escalado vertical: otra opción es escalar la aplicación verticalmente, es decir, aumentar los recursos disponibles en un solo nodo. Para ello, debes ampliar la capacidad del servidor para que pueda soportar la carga adicional. Si eliges este tipo de escalado, asegúrate de que tu aplicación pueda aprovechar esos recursos adicionales.
- Almacenamiento en caché: guardar los datos que consultas con frecuencia permite mejorar los tiempos de respuesta sin hacer llamadas repetidas a nuestra API. Diseña la aplicación para que use los datos en caché siempre que sea posible e invalide la caché cuando se agregue información nueva. Por ejemplo, puedes guardar los datos en una base de datos, un sistema de archivos o una caché en memoria, según lo que mejor se adapte a tu aplicación.
- Balanceo de carga: considera técnicas de balanceo de carga para distribuir las solicitudes de manera uniforme entre los servidores disponibles. Puedes colocar un balanceador de carga delante de los servidores o usar DNS con rotación por turnos. Equilibrar la carga ayuda a mejorar el rendimiento y a reducir los cuellos de botella.
Comprimir los cuerpos de las solicitudes
Para reducir el tamaño de los datos que subes, comprime los cuerpos de las solicitudes JSON con zstd cuando llames a POST /v1/responses. Configura Content-Encoding: zstd y conserva Content-Type: application/json.
zstd -3 -c request.json > request.json.zst
curl https://api.openai.com/v1/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-H "Content-Encoding: zstd" \
--data-binary @request.json.zst
La API descomprime el cuerpo antes de procesar la solicitud. La compresión reduce la cantidad de bytes que se envían por la red. No cambia el uso de tokens ni los límites de contexto del modelo.
El cuerpo de la solicitud debe ocupar como máximo 128 MiB, tanto comprimido como descomprimido. Además, el tamaño del cuerpo descomprimido no puede superar 100 veces el tamaño comprimido. Si una solicitud excede alguno de estos límites, la API devuelve el código HTTP 413. La API devuelve el código HTTP 400 si los datos zstd no son válidos o están incompletos. Los demás límites de las solicitudes siguen vigentes.
Comprimir mensajes WebSocket
El modo WebSocket de la API de Responses admite permessage-deflate en wss://api.openai.com/v1/responses. Esta extensión de WebSocket usa DEFLATE para reducir el tamaño de los mensajes. Habilítala en la configuración de compresión de tu cliente WebSocket antes de conectarte.
Administrar los límites de solicitudes
Cuando uses nuestra API, es importante que conozcas los límites de solicitudes y los tengas en cuenta al planificar.
Reducir la latencia
Consulta nuestra guía más reciente sobre optimización de la latencia.
La latencia es el tiempo que transcurre desde que se hace una solicitud hasta que se procesa y se devuelve una respuesta. En esta sección veremos algunos factores que influyen en la latencia de nuestros modelos de generación de texto y cómo puedes reducirla.
La latencia de una solicitud de generación de texto depende principalmente de dos factores: el modelo y la cantidad de tokens generados. Este es el ciclo de vida de una solicitud de generación de texto:
Por lo general, la generación de tokens es la etapa que más contribuye a la latencia.
Idea general: los tokens del prompt agregan poca latencia a las llamadas de generación de texto. Generar los tokens de salida lleva mucho más tiempo porque el modelo los genera de uno en uno. Cuanto más larga sea la salida, mayor será la latencia, ya que se acumula el tiempo necesario para generar cada token.
Factores comunes que afectan la latencia y técnicas para reducirla
Ahora que conoces los conceptos básicos de la latencia, veamos los factores que pueden afectarla, ordenados aproximadamente de mayor a menor impacto.
Modelo
Nuestra API ofrece modelos con distintos grados de complejidad y versatilidad. Los modelos de mayor capacidad, como gpt-6-astra, pueden generar respuestas más complejas y variadas, pero también tardan más en procesar tu consulta.
Modelos como gpt-5.6-terra y gpt-5.6-luna pueden generar respuestas más rápido y a menor costo, mientras que gpt-6-astra es una mejor opción predeterminada si necesitas mayor capacidad para tareas complejas. Elige el modelo que mejor se adapte a tu caso de uso según el equilibrio que busques entre velocidad, costo y calidad.
Cantidad de tokens de salida
Solicitar respuestas con muchos tokens puede aumentar la latencia:
- Reduce el máximo de tokens: entre solicitudes que generan cantidades similares de tokens, las que tienen un valor más bajo de
max_tokenspresentan menor latencia. - Incluye secuencias de parada: para evitar que se generen tokens innecesarios, agrega una secuencia de parada. Por ejemplo, puedes usar estas secuencias para generar una lista con una cantidad específica de elementos. Si usas
11.como secuencia de parada, puedes generar una lista de solo 10 elementos, ya que la generación se detendrá al llegar a11.. Consulta nuestro artículo de ayuda sobre las secuencias de parada para saber más sobre cómo hacerlo. - Genera menos respuestas: reduce los valores de
nybest_ofsiempre que sea posible. El parámetronindica cuántas respuestas se generan para cada prompt ybest_ofpermite seleccionar el resultado con la mayor probabilidad logarítmica por token.
Si n y best_of valen 1 (el valor predeterminado), la cantidad de tokens generados no superará max_tokens.
Si configuras n (la cantidad de respuestas que se devuelven) o best_of (la cantidad de respuestas que se generan para evaluarlas) con un valor > 1, cada solicitud generará varias salidas. En este caso, puedes estimar la cantidad de tokens generados con la fórmula [ max_tokens * max (n, best_of) ].
Streaming
Si configuras stream: true en una solicitud, el modelo empieza a devolver los tokens en cuanto están disponibles, sin esperar a que se genere la secuencia completa. El tiempo necesario para recibir todos los tokens es el mismo, pero la aplicación recibe antes el primer token. Esto resulta útil si quieres mostrar el progreso parcial o detener la generación. Vale la pena probar el streaming para ver si mejora la experiencia de usuario.
Procesamiento por lotes
Según tu caso de uso, el procesamiento por lotes puede ser útil. Si envías varias solicitudes al mismo punto de acceso, puedes agrupar los prompts para enviarlos en una sola solicitud. Así reducirás la cantidad de solicitudes que necesitas hacer. El parámetro prompt admite hasta 20 prompts distintos. Te recomendamos probar este método para ver si te sirve. En algunos casos, puede aumentar la cantidad de tokens generados, lo que hará que la respuesta tarde más.
Administrar los costos
Para monitorear tus costos, puedes establecer un umbral de notificación en tu cuenta y recibir una alerta por correo electrónico cuando el uso supere ese umbral. Usa el panel de seguimiento del uso para consultar tu consumo de tokens en el ciclo de facturación actual y en los anteriores.
Generación de texto
Uno de los desafíos de llevar tu prototipo a producción es presupuestar lo que cuesta mantener la aplicación en funcionamiento. OpenAI ofrece un modelo de pago por uso con precios por cada 1000 tokens (aproximadamente 750 palabras). Para estimar los costos, tendrás que proyectar el consumo de tokens. Ten en cuenta el volumen de tráfico, la frecuencia con que los usuarios interactuarán con tu aplicación y la cantidad de datos que procesarás.
Para identificar cómo reducir los costos, conviene analizarlos en función de la cantidad de tokens y del costo por token. Con este enfoque, puedes reducir los costos de dos maneras. Una opción es bajar el costo por token usando modelos más pequeños para algunas tareas. La otra es reducir la cantidad de tokens necesarios. Para ello, puedes usar prompts más cortos, ajustar los modelos o guardar en caché las consultas frecuentes de los usuarios para evitar procesarlas repetidamente.
Puedes probar nuestra herramienta interactiva de tokenización para estimar los costos. Tanto la API como el Playground incluyen la cantidad de tokens en la respuesta. Una vez que tu aplicación funcione con nuestro modelo de mayor capacidad, puedes comprobar si otros modelos producen los mismos resultados con menor latencia y a menor costo. Encontrarás más información en nuestro artículo de ayuda sobre el uso de tokens.
Estrategia de MLOps
Al llevar tu prototipo a producción, puede que te convenga desarrollar una estrategia de MLOps. Las MLOps (operaciones de aprendizaje automático) abarcan la gestión de todo el ciclo de vida de tus modelos de aprendizaje automático, incluidos los que ajustes con nuestra API. Al diseñar tu estrategia de MLOps, ten en cuenta estas áreas:
- Gestión de datos y modelos: administra los datos que usas para entrenar o ajustar tu modelo y lleva un registro de las versiones y los cambios.
- Monitoreo del modelo: haz un seguimiento del rendimiento del modelo a lo largo del tiempo para detectar posibles problemas o caídas de rendimiento.
- Reentrenamiento del modelo: mantén el modelo al día a medida que cambien los datos o los requisitos. Vuelve a entrenarlo o ajústalo cuando sea necesario.
- Despliegue del modelo: automatiza el despliegue del modelo y de los artefactos relacionados en producción.
Tener en cuenta estos aspectos de tu aplicación te ayudará a que el modelo siga siendo pertinente y mantenga un buen rendimiento con el tiempo.
Seguridad y cumplimiento normativo
Al llevar tu prototipo a producción, tendrás que evaluar y cumplir los requisitos de seguridad y cumplimiento normativo aplicables a tu aplicación. Para ello, examina los datos que manejas, familiarízate con la forma en que nuestra API los procesa y determina qué normas debes cumplir. Encontrarás nuestra documentación más completa y actualizada en nuestras prácticas de seguridad y en el portal de confianza y cumplimiento normativo. También puedes consultar nuestra Política de privacidad y nuestros Términos de uso.
Entre los aspectos que debes tener en cuenta están el almacenamiento, la transmisión y la retención de datos. Es posible que también debas implementar medidas para proteger la privacidad de los datos, como el cifrado o la anonimización, cuando sea posible. Además, sigue buenas prácticas de programación segura, como el saneamiento de los datos de entrada y el manejo adecuado de errores.
Buenas prácticas de seguridad
Al crear una aplicación con nuestra API, ten en cuenta nuestras buenas prácticas de seguridad para que sea segura y cumpla sus objetivos. Estas recomendaciones destacan la importancia de probar el producto a fondo, anticiparse a los posibles problemas y limitar las oportunidades de uso indebido.
Consideraciones de negocio
Al llevar un proyecto de IA de la etapa de prototipo a producción, es importante pensar en cómo crear un buen producto con IA y cómo encaja ese producto en la actividad principal de tu negocio. No tenemos todas las respuestas, pero puedes empezar por esta charla del Developer Day, en la que exploramos el tema con algunos de nuestros clientes: