Ultralytics YOLO27:

Endpoints dedicados#

Ultralytics Platform permite el despliegue de modelos YOLO en puntos de conexión dedicados en 42 regiones globales. Cada punto de conexión es un servicio de inquilino único con una URL de punto de conexión única y monitorización independiente. El tamaño de recurso predeterminado se reduce a cero cuando está inactivo; los tamaños personalizados mantienen una instancia activa y se cobran por tiempo de actividad.

Pestaña de despliegue de modelos de Ultralytics Platform con mapa de regiones y tabla

Crear endpoint#

Desde la pestaña Deploy#

Despliega un modelo desde su pestaña Deploy:

  1. Ve a tu modelo
  2. Haz clic en la pestaña Deploy
  3. Consulta el mapa del mundo y la tabla de regiones, ordenada según la latencia medida desde tu ubicación
  4. Haz clic en Deploy en la fila de la región que quieras usar
  5. En el cuadro de diálogo, revisa la CPU, la memoria, los precios y el nombre del despliegue, y luego haz clic en Create Deployment

El nombre sugerido combina el nombre del modelo y la ciudad de la región (por ejemplo, yolo26n-iowa) y se puede editar antes del despliegue. El modelo debe tener pesos, o la pestaña muestra un estado vacío en lugar de la tabla de regiones.

Desde la página de despliegues#

Crea un despliegue desde la página global Deploy de la barra lateral:

  1. Haz clic en New Deployment
  2. Selecciona un modelo en el selector de modelos, que muestra tus modelos completados
  3. Selecciona una región en el minimapa o en la tabla de latencia
  4. Elige la CPU y la memoria, revisa los precios y edita el nombre del despliegue sugerido si es necesario
  5. Haz clic en Create Deployment

Cuadro de diálogo de nuevo despliegue de Ultralytics Platform con selector de modelos y mapa de regiones

Ciclo de vida del despliegue#

stateDiagram-v2
    [*] --> Creating: Deploy
    Creating --> Deploying: Service starting
    Deploying --> Ready: Service URL published
    Ready --> Stopping: Stop
    Ready --> Deploying: Replace model
    Stopping --> Stopped: Stopped
    Stopped --> Deploying: Start
    Deploying --> Stopped: Start failed
    Ready --> [*]: Delete
    Stopped --> [*]: Delete
    Creating --> Failed: Error
    Deploying --> Failed: Error
    Failed --> [*]: Delete

    classDef proc fill:#2196F3,color:#fff
    classDef out fill:#9C27B0,color:#fff
    classDef error fill:#F44336,color:#fff
    classDef extern fill:#607D8B,color:#fff
    class Creating,Deploying,Stopping proc
    class Ready out
    class Failed error
    class Stopped extern

Conecta las alertas de Slack para recibir un mensaje cuando un despliegue esté listo o no pueda iniciarse.

Selección de región#

Elige entre 42 regiones de todo el mundo. El mapa interactivo de regiones y la tabla muestran:

  • Marcadores de región: Codificados por colores según la latencia en un gradiente de verde a rojo (las regiones más rápidas son más verdes y las más lentas, más rojas)
  • Regiones desplegadas: Se destacan con una insignia «Deployed» en la tabla
  • Regiones en despliegue: Indicador de pulso animado en el marcador y en la fila de la tabla
  • Resaltado bidireccional: Al pasar el cursor sobre el mapa se resalta la fila correspondiente de la tabla, y viceversa

Ultralytics Platform Deploy Tab Region Latency Table Sorted By Latency

La tabla de regiones en la pestaña del modelo Deploy incluye:

ColumnaDescripción
UbicaciónCiudad y país con un icono de bandera
ZonaIdentificador de región
LatenciaTiempo de ping medido desde tu navegador
DistanciaDistancia desde tu ubicación aproximada en km
AccionesBotón Deploy o insignia de estado «Deployed»

La tabla permite buscar por ciudad, país y zona, y está ordenada por latencia de forma predeterminada.

Cuadro de diálogo de nuevo despliegue

El cuadro de diálogo New Deployment (de la página global Deploy) muestra una tabla de regiones más sencilla, con solo las columnas Ubicación, Latencia y Seleccionar, y enumera las 20 regiones más rápidas con una nota sobre las restantes. Usa el minimapa para elegir cualquier otra región.

Cómo se mide la latencia

Tu navegador mide la latencia de cada una de las 42 regiones, y los resultados se almacenan en caché durante 30 minutos y se comparten entre la pestaña Deploy y el cuadro de diálogo New Deployment. Usa el botón Rescan de la pestaña del modelo Deploy para volver a medirla desde tu red actual. La distancia se calcula a partir de la ubicación aproximada de tu solicitud, por lo que es una referencia aproximada y no un valor preciso.

Regiones disponibles#

ZonaUbicación
us-central1Iowa, EE. UU.
us-east1Carolina del Sur, USA
us-east4Virginia del Norte, USA
us-east5Columbus, USA
us-south1Dallas, USA
us-west1Oregón, USA
us-west2Los Ángeles, USA
us-west3Salt Lake City, USA
us-west4Las Vegas, USA
northamerica-northeast1Montreal, Canadá
northamerica-northeast2Toronto, Canadá
northamerica-south1Querétaro, México
southamerica-east1São Paulo, Brasil
southamerica-west1Santiago, Chile

Configuración del endpoint#

Cuadro de diálogo de nuevo despliegue#

El cuadro de diálogo New Deployment te permite seleccionar un modelo, una región, recursos y un nombre de despliegue:

CampoDescripción
ModeloCualquier modelo completado del espacio de trabajo, seleccionado mediante el selector
RegiónRegión de implementación, seleccionada en el minirretículo o en la tabla de latencia
CPU and MemorySelecciona el tamaño del recurso y revisa sus precios mostrados
Nombre de la implementaciónSe genera automáticamente cuando se establecen el modelo y la región, y se puede editar

Ultralytics Platform New Deployment Dialog Fixed Resource Defaults

Elige el tamaño de CPU y memoria en los controles de recursos y revisa los precios mostrados antes de crear el despliegue. El tamaño predeterminado puede utilizar una asignación de despliegue gratuito disponible; los tamaños personalizados utilizan precios medidos. El tamaño predeterminado se reduce a cero cuando está inactivo. Los tamaños personalizados mantienen una instancia activa y se cobran desde la disponibilidad hasta que detienes el punto de conexión, incluido el tiempo de inactividad. Agents reutiliza este cuadro de diálogo cuando seleccionas New deployment….

Ultralytics Platform New Deployment Dialog Custom CPU Memory Pricing

Nombres generados automáticamente

El nombre de la implementación combina el nombre del modelo con la ciudad de la región; por ejemplo, yolo26n-iowa. En la pestaña del modelo Deploy, se añade un sufijo numérico cuando ese modelo ya tiene una implementación en la región (por ejemplo, yolo26n-iowa-2). Los nombres deben ser únicos dentro de un espacio de trabajo: implementar un nombre que ya existe devuelve un error en lugar de cambiarlo de nombre silenciosamente.

Pestaña Deploy (implementación rápida)#

El despliegue desde la pestaña Deploy del modelo abre el mismo cuadro de diálogo con el modelo y la región preseleccionados. Revisa el tamaño del recurso, los precios y el nombre generado automáticamente antes de crear el punto de conexión. El despliegue aparece en la lista Active Deployments mientras se crea.

Gestionar endpoints#

Modos de vista#

La lista de implementaciones admite tres modos de visualización:

ModoDescripción
TarjetasTarjetas de detalles completos con pestañas de registros, código, predicción y supervisión habilitada
CompactaCuadrícula de tarjetas más pequeñas con métricas clave
TablaTabla de datos con columnas ordenables y búsqueda

Ultralytics Platform Deploy Tab Active Deployments Cards View

Tarjeta de implementación (vista de tarjetas)#

Cada tarjeta de implementación de la vista de tarjetas muestra:

  • Cabecera: Nombre, bandera de región, insignia de estado y los botones de acción disponibles para el estado actual — actualizar configuración, reemplazar y detener cuando esté Listo, iniciar cuando esté Detenido, eliminar en cualquier momento
  • URL del endpoint: URL copiable con un enlace a la referencia de API propia del endpoint
  • Métricas: número de solicitudes (24 h), latencia P95, tasa de errores o «Aún no hay tráfico»
  • Comprobación de estado: indicador de estado en tiempo real con latencia y actualización manual
  • Pestañas: Logs, Code y Predict; los puntos de conexión de pago también muestran Monitoring
  • Pie: prefijo de la clave de API asociada a la implementación y fecha en la que pasó a estar lista
  • Mensaje de estado: motivo del fallo, cuando una implementación falla

La URL, las métricas, la comprobación de estado y las pestañas solo aparecen mientras la implementación está Ready. La pestaña Logs muestra entradas de registro recientes con filtrado por gravedad (All / Errors). La pestaña Code muestra ejemplos de código listos para usar en Python, JavaScript y cURL con la URL de tu endpoint, además de la clave de API asociada para los propietarios del espacio de trabajo (consulta Monitoring). La pestaña Predict proporciona un panel de predicción integrado para realizar pruebas directamente en la implementación.

Vistas compacta y de tabla

Las tarjetas compactas muestran la bandera, el nombre, la ciudad, el estado y las tres métricas. La vista de tabla permite ordenar por Nombre, Región, Estado, Solicitudes, P95 y Errores, y buscar por nombre, región y estado. Ambas vistas mantienen la acción de eliminar; iniciar, detener y reemplazar están disponibles en la vista de tarjetas.

Actualizar CPU y Memoria#

  1. Abre un punto de conexión Listo en la vista de Tarjetas.
  2. Haz clic en Actualizar configuración de despliegue.
  3. Elige CPU y Memoria, y revisa el coste por hora mostrado.
  4. Haz clic en Actualizar configuración. La configuración actual sigue sirviendo hasta que la nueva esté lista.

Ultralytics Platform Deployment Update CPU Memory Configuration

Los recursos personalizados utilizan la facturación por tiempo de actividad y mantienen una instancia activa. Volver a los recursos predeterminados restablece el comportamiento de escala a cero y elimina la pestaña de Supervisión de pago.

Datos de supervisión temporales

Los gráficos de supervisión y las imágenes de ejemplo son datos ligeros en memoria. Detener, reiniciar, volver a desplegar, cambiar el tamaño o reemplazar un modelo puede borrarlos. Iniciar el punto de conexión de nuevo no restaura el historial. Guarda los ejemplos útiles en un conjunto de datos y espera a que finalice la ingesta antes de cambiar el punto de conexión. Las métricas operativas y los registros tienen ventanas de historial separadas.

Reemplazar un modelo#

Reemplaza el modelo de un endpoint listo sin cambiar su URL:

  1. Abre la implementación en la vista Cards
  2. Haz clic en Replace model
  3. Selecciona otro modelo completado del mismo espacio de trabajo
  4. Edita opcionalmente el nombre de la implementación
  5. Haz clic en Replace Model

El modelo actual sigue atendiendo solicitudes mientras se inicia el reemplazo. Cuando el reemplazo está listo, el tráfico pasa al nuevo modelo. El ID de la implementación, la URL, la región y la clave de API no cambian; el nombre mostrado solo cambia cuando introduces uno nuevo. Si el reemplazo falla, el modelo y el nombre anteriores siguen activos.

El reemplazo requiere todo lo siguiente y, de lo contrario, se rechaza:

  • La implementación está Ready y no tiene ninguna otra operación de ciclo de vida en curso
  • El modelo de reemplazo tiene pesos y pertenece al mismo espacio de trabajo que la implementación
  • El modelo de reemplazo no es el que ya está implementado
Un modelo por endpoint

El reemplazo elimina el modelo anterior de la implementación. Cada endpoint sirve un modelo; crea otra implementación cuando necesites que ambos modelos estén disponibles al mismo tiempo.

Estados de la implementación#

EstadoDescripción
CreatingLa implementación se está configurando
DeployingEl contenedor se está iniciando
ReadyEl endpoint está activo y acepta solicitudes
StoppingEl endpoint se está apagando
StoppedEl endpoint está pausado y no disponible
FallidoLa implementación ha fallado (consulta el mensaje de error)

URL del endpoint#

Cada endpoint tiene una URL única, por ejemplo:

https://predict-<deployment-id>-<hash>-<region>.a.run.app

Ultralytics Platform Deployment Card Endpoint Url With Copy Button

Haz clic en el botón de copiar para copiar la URL. Haz clic en el icono de documentación para abrir la referencia de API propia del extremo. El extremo sirve estas rutas:

RutaMétodoDescripción
/predictPOSTEjecuta la inferencia; requiere la clave de API de la implementación
/healthGETComprobación de disponibilidad que informa del estado del servicio y del número de modelos almacenados en caché
/GETResumen de estado del servicio implementado
/docsGETReferencia de API interactiva generada para esta implementación, modelo y región

Gestión del ciclo de vida#

Controla el estado de tu endpoint:

graph LR
    R[Ready]:::out -->|Stop| S[Stopped]:::extern
    S -->|Start| R
    R -->|Delete| D[Deleted]:::error
    S -->|Delete| D

    classDef out fill:#9C27B0,color:#fff
    classDef error fill:#F44336,color:#fff
    classDef extern fill:#607D8B,color:#fff
AcciónDescripción
StartReanuda un endpoint detenido
DetenerPausar el endpoint
DeleteEliminar el endpoint permanentemente

Detener el endpoint#

Detén un endpoint cuando no quieras que acepte solicitudes:

  1. Haz clic en el icono de pausa de la tarjeta de implementación
  2. El estado del endpoint cambia a «Stopping» y después a «Stopped»

Los endpoints detenidos:

  • No aceptar solicitudes y no informar de métricas en directo ni de estado de salud
  • Dejar de acumular cargos por tiempo de actividad
  • Perder las estadísticas de supervisión temporales y las imágenes de ejemplo cuando la instancia de servicio se apague
  • Conservan su URL, región y clave de API asociada, y se pueden reiniciar en cualquier momento
  • Siguen contando para la cuota de implementaciones de tu plan; elimina un endpoint para liberar su espacio

Eliminar el endpoint#

Elimina un endpoint permanentemente:

  1. Haz clic en el icono de eliminar (papelera) de la tarjeta de implementación
  2. Confirma la eliminación en el cuadro de diálogo
Acción permanente

La eliminación es inmediata y permanente: las implementaciones no se envían a la Papelera. Al eliminar el endpoint, se elimina su servicio y se libera un espacio de la cuota de implementaciones. Siempre puedes crear un endpoint nuevo, pero recibirá una URL nueva.

Las implementaciones también se eliminan cuando su modelo o proyecto se elimina permanentemente, o cuando un modelo o proyecto enviado a la papelera llega al final de su periodo de conservación.

Uso de los endpoints#

Autenticación#

Cada implementación está asociada a una única clave de API del espacio de trabajo propietario del modelo. Inclúyela en las solicitudes:

Authorization: Bearer YOUR_API_KEY

El endpoint solo acepta la clave asociada en el momento de su creación, por lo que ninguna otra clave lo abre, ni siquiera otra clave activa del mismo espacio de trabajo. Para controlar qué clave se asocia, implementa mediante la API autenticada con la clave del propietario del espacio de trabajo: esa clave exacta queda asociada y ya la tienes. Las implementaciones creadas de cualquier otra forma (mediante la interfaz de usuario de Platform o una llamada a la API autenticada como miembro del equipo) asocian automáticamente una de las claves activas del espacio de trabajo propietario. Identifícala mediante el prefijo de la clave que aparece en el pie de la tarjeta de implementación y pide su valor al propietario del espacio de trabajo, ya que solo el propietario puede ver los valores de las claves (consulta Claves de API). Los miembros del equipo que no tengan la clave asociada aún pueden ejecutar inferencias mediante el proxy de predicción de Platform en el navegador.

Eliminar la clave asociada no bloquea el endpoint

Eliminar o desactivar la clave de API asociada no revoca el acceso directo al endpoint: cualquiera que tenga la cadena de la clave aún puede llamar a la URL del endpoint. Lo que deja de funcionar es el proxy de predicción de Platform, que comprueba la clave en tiempo real e informa de que ya no está disponible. Para revocar completamente el acceso, detén o elimina la implementación; después de rotar las claves, vuelve a crear el endpoint para que asocie la clave nueva.

Solicitudes directas al endpoint#

Envía las solicitudes de producción directamente a la URL que aparece en la tarjeta de implementación. Estas solicitudes no pasan por el limitador de velocidad de la API de Platform, por lo que no se aplica el límite de predicción de 20 solicitudes por minuto. El endpoint sigue teniendo su propio límite de capacidad:

  • Una única instancia presta servicio a cada endpoint y procesa un número limitado de solicitudes a la vez
  • Las solicitudes que no se pueden atender rápidamente devuelven 429 con una cabecera Retry-After
  • Una única solicitud puede ejecutarse durante un máximo de 1 hora, lo que permite completar la inferencia de vídeo
  • Las respuestas de más de 1 KB se comprimen con gzip y se permiten las solicitudes del navegador de origen cruzado

Ejemplo de solicitud#

import requests

# Deployment endpoint
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"

# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# Send image for inference
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

print(response.json())

Parámetros de la solicitud#

ParámetroTipoPredeterminadoRangoDescripción
filefile--Archivo de imagen o vídeo (obligatorio a menos que se establezca source)
conffloat0.250.01 – 1.0Umbral mínimo de confianza
ioufloat0.70.0 – 0.95Umbral de IoU de NMS
imgszint64032 – 1280Tamaño de la imagen de entrada en píxeles
normalizeboolfalse-Devuelve las coordenadas del cuadro delimitador como valores de 0 a 1
decimalsint50 – 10Precisión decimal de los valores de coordenadas
bitsint88, 12, 16Cuantización del mapa de profundidad, solo para modelos de profundidad
sourcestring--URL de imagen o cadena en base64 (alternativa a file)

Consulta Respuestas de profundidad para saber cómo bits cambia el mapa de profundidad devuelto y cómo descodificarlo.

Inferencia de vídeo

Los endpoints dedicados aceptan imágenes y vídeos mediante el parámetro file.

  • Formatos de imagen (hasta 100 MB): AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WEBP
  • Formatos de vídeo (hasta 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV

Cada fotograma del vídeo se procesa individualmente y los resultados se devuelven por fotograma. También puedes pasar una URL pública de imagen o una imagen codificada en base64 mediante el parámetro source en lugar de file. Las cargas que superen el tamaño permitido se rechazan con 413.

Formato de respuesta#

Igual que la inferencia compartida, con campos específicos de la tarea.

Preguntas frecuentes#

  • Los límites de los endpoints dependen del plan:

    • Free: hasta 3 implementaciones
    • Pro: hasta 10 implementaciones
    • Enterprise: implementaciones ilimitadas

    Cada modelo se puede implementar en varias regiones dentro de la cuota de tu plan. La cuota se descuenta del espacio de trabajo propietario del modelo, por lo que los miembros del equipo que implementen un modelo compartido consumen la cuota del propietario. Al alcanzar el límite, se devuelve un error que te pide eliminar primero una implementación existente.

  • No, las regiones son fijas. Para cambiar de región:

    1. Elimina el endpoint existente
    2. Crea un endpoint nuevo en la región que quieras

    El endpoint nuevo recibe una URL nueva. Para cambiar solo el modelo que hay detrás de un endpoint, usa la sustitución de modelos, que conserva la URL.

  • Para conseguir cobertura global:

    1. Implementa en varias regiones
    2. Usa un equilibrador de carga o un enrutamiento DNS
    3. Dirige a los usuarios al endpoint más cercano
  • El tiempo de arranque en frío depende del modelo y de si el endpoint se ha escalado a cero; Platform permite que un endpoint inactivo tenga tiempo adicional para arrancar antes de informar de que no está saludable. Ejecutar una comprobación de estado desde la tarjeta de implementación antes de un aumento repentino del tráfico calienta la instancia.

  • No. Cada implementación sirve el tráfico en la URL generada del endpoint que aparece en su tarjeta de implementación, que permanece estable durante toda la vida de la implementación, incluso al sustituir el modelo.

Comentarios