Ultralytics YOLO27:

Endpoints dedicados#

Ultralytics Platform permite a implementação de modelos YOLO em endpoints dedicados em 42 regiões globais. Cada endpoint é um serviço de locatário único com um URL de endpoint exclusivo e monitoramento independente. O tamanho de recurso padrão é reduzido a zero quando ocioso; tamanhos personalizados mantêm uma instância ativa e são faturados pelo tempo de atividade.

Separador Deploy da Ultralytics Platform com mapa de regiões e tabela

Criar endpoint#

A partir do separador Deploy#

Implementa um modelo a partir do respetivo separador Deploy:

  1. Navega até ao teu modelo
  2. Clica no separador Deploy
  3. Consulta o mapa-mundo e a tabela de regiões, ordenada pela latência medida a partir da tua localização
  4. Clica em Deploy na linha da região que queres utilizar
  5. Na caixa de diálogo, reveja a CPU, a memória, os preços e o nome da implementação e, em seguida, clique em Create Deployment

O nome sugerido combina o nome do modelo e a cidade da região (por exemplo, yolo26n-iowa) e pode ser editado antes da implementação. O modelo tem de ter pesos, caso contrário, o separador apresenta um estado vazio em vez da tabela de regiões.

A partir da página Deployments#

Cria uma implementação a partir da página global Deploy na barra lateral:

  1. Clica em New Deployment
  2. Seleciona um modelo no seletor de modelos, que apresenta os teus modelos concluídos
  3. Seleciona uma região no minimapa ou na tabela de latência
  4. Escolhe a CPU e a memória, reveja os preços e edite o nome da implementação sugerido, se necessário
  5. Clica em Create Deployment

Caixa de diálogo New Deployment da Ultralytics Platform com seletor de modelos e mapa de regiões

Ciclo de Vida da Implementação#

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

Liga os alertas do Slack para receberes uma mensagem quando uma implementação ficar pronta ou não conseguir iniciar.

Seleção da região#

Escolhe entre 42 regiões em todo o mundo. O mapa interativo de regiões e a tabela apresentam:

  • Pins de regiões: codificados por cores de acordo com a latência, num gradiente de verde a vermelho (as regiões mais rápidas são mais verdes e as mais lentas são mais vermelhas)
  • Regiões implementadas: destacadas com um emblema "Deployed" na tabela
  • Regiões em implementação: indicador de pulsação animado no pin e na linha da tabela
  • Realce bidirecional: passar o cursor sobre o mapa realça a linha correspondente na tabela, e vice-versa

Ultralytics Platform Deploy Tab Region Latency Table Sorted By Latency

A tabela de regiões no separador do modelo Deploy inclui:

ColunaDescrição
LocalizaçãoCidade e país com ícone da bandeira
ZonaIdentificador da região
LatênciaTempo de ping medido a partir do teu browser
DistânciaDistância aproximada da tua localização em km
AçõesBotão Deploy ou emblema de estado "Deployed"

A tabela permite pesquisar por cidade, país e zona e, por predefinição, está ordenada por latência.

Caixa de diálogo New Deployment

A caixa de diálogo New Deployment (da página global Deploy) apresenta uma tabela de regiões mais simples, apenas com as colunas Localização, Latência e Selecionar, listando as 20 regiões mais rápidas e uma nota sobre as restantes. Utiliza o minimapa para escolher qualquer outra região.

Como a latência é medida

O teu browser mede a latência para cada uma das 42 regiões, e os resultados são armazenados em cache durante 30 minutos e partilhados entre o separador Deploy e a caixa de diálogo New Deployment. Utiliza o botão Rescan no separador do modelo Deploy para voltar a medir a partir da tua rede atual. A distância é calculada a partir da localização aproximada do teu pedido, pelo que serve de orientação aproximada e não de valor exato.

Regiões disponíveis#

ZonaLocalização
us-central1Iowa, EUA
us-east1Carolina do Sul, EUA
us-east4Virgínia do Norte, EUA
us-east5Columbus, EUA
us-south1Dallas, EUA
us-west1Oregon, EUA
us-west2Los Angeles, EUA
us-west3Salt Lake City, EUA
us-west4Las Vegas, EUA
northamerica-northeast1Montreal, Canadá
northamerica-northeast2Toronto, Canadá
northamerica-south1Querétaro, México
southamerica-east1São Paulo, Brasil
southamerica-west1Santiago, Chile

Configuração do endpoint#

Caixa de diálogo New Deployment#

A caixa de diálogo New Deployment permite selecionar um modelo, região, recursos e nome de implementação:

CampoDescrição
ModeloQualquer modelo concluído no workspace, selecionado através do seletor
RegiãoRegião de implementação, selecionada no minimapa ou na tabela de latência
CPU e MemóriaSeleciona o tamanho do recurso e reveja os respetivos preços apresentados
Nome da implementaçãoGerado automaticamente quando o modelo e a região são definidos, e editável

Ultralytics Platform New Deployment Dialog Fixed Resource Defaults

Escolhe o tamanho da CPU e da memória nos controlos de recursos e reveja os preços apresentados antes de criar a implementação. O tamanho padrão pode utilizar uma quota de implementação gratuita disponível; os tamanhos personalizados utilizam preços baseados no consumo. O tamanho padrão é reduzido a zero quando ocioso. Os tamanhos personalizados mantêm uma instância ativa e são cobrados desde a prontidão até parar o endpoint, incluindo o tempo de ociosidade. Os Agents reutilizam esta caixa de diálogo quando seleciona New deployment….

Ultralytics Platform New Deployment Dialog Custom CPU Memory Pricing

Nomes gerados automaticamente

O nome da implementação combina o nome do modelo com a cidade da região, por exemplo, yolo26n-iowa. No separador do modelo Deploy, é adicionado um sufixo numérico quando esse modelo já tem uma implementação na região (por exemplo, yolo26n-iowa-2). Os nomes têm de ser exclusivos num workspace — implementar um nome que já existe devolve um erro em vez de o renomear silenciosamente.

Separador Deploy (implementação rápida)#

A implementação a partir do separador Deploy do modelo abre a mesma caixa de diálogo com o modelo e a região pré-selecionados. Reveja o tamanho do recurso, os preços e o nome gerado automaticamente antes de criar o endpoint. A implementação aparece na lista Active Deployments enquanto é criada.

Gerir endpoints#

Modos de vista#

A lista de implementações suporta três modos de visualização:

ModoDescrição
CartõesCartões de detalhes completos com guias de registros, código, previsão e monitoramento elegível
CompactoGrelha de cartões mais pequenos com métricas essenciais
TabelaTabela de dados com colunas ordenáveis e pesquisa

Ultralytics Platform Deploy Tab Active Deployments Cards View

Cartão da implementação (vista de cartões)#

Cada cartão de implementação na vista de cartões apresenta:

  • Cabeçalho: Nome, bandeira da região, selo de status e os botões de ação disponíveis para o status atual — atualizar configuração, substituir e parar quando Pronto, iniciar quando Parado, excluir a qualquer momento
  • URL do endpoint: URL copiável com uma ligação para a própria referência da API do endpoint
  • Métricas: Número de pedidos (24 h), latência P95, taxa de erros ou "Ainda sem tráfego"
  • Verificação de estado: Indicador de estado em tempo real com latência e atualização manual
  • Guias: Logs, Code e Predict; os endpoints pagos também mostram Monitoring
  • Rodapé: O prefixo da chave de API associado à implementação e a data em que ficou pronta
  • Mensagem de estado: O motivo da falha, quando uma implementação falhou

O URL, as métricas, a verificação de estado e os separadores aparecem apenas enquanto a implementação está Ready. O separador Logs apresenta entradas de registo recentes com filtragem por gravidade (Todas / Erros). O separador Code apresenta exemplos de código prontos a utilizar em Python, JavaScript e cURL com o URL do teu endpoint, além da chave de API associada para os proprietários do workspace (consulta Monitorização). O separador Predict disponibiliza um painel de previsão integrado para testar diretamente na implementação.

Vistas compacta e de tabela

Os cartões compactos apresentam a bandeira, o nome, a cidade, o estado e as três métricas. A vista de tabela permite ordenar por Nome, Região, Estado, Pedidos, P95 e Erros, além de pesquisar por nome, região e estado. Ambas as vistas mantêm a ação de eliminação; iniciar, parar e substituir estão disponíveis na vista de cartões.

Atualizar CPU e Memória#

  1. Abra um endpoint Pronto na visualização de Cartões.
  2. Clique em Atualizar configuração de implantação.
  3. Escolha CPU e Memória e reveja o custo por hora exibido.
  4. Clique em Atualizar Configuração. A configuração atual continua a servir até que a nova esteja pronta.

Ultralytics Platform Deployment Update CPU Memory Configuration

Recursos personalizados usam faturamento por tempo de atividade e mantêm uma instância ativa. Retornar aos recursos padrão restaura o comportamento de escala para zero e remove a guia de Monitoramento paga.

Dados de Monitoramento Temporários

Gráficos de monitoramento e imagens de exemplo são dados leves mantidos em memória. Parar, reiniciar, reimplantar, redimensionar ou substituir um modelo pode limpá-los. Iniciar o endpoint novamente não restaura o histórico. Salve exemplos úteis em um conjunto de dados e aguarde a conclusão da ingestão antes de alterar o endpoint. As métricas e registros operacionais possuem janelas de histórico separadas.

Substituir um modelo#

Substitui o modelo por trás de um endpoint pronto sem alterar o respetivo URL:

  1. Abre a implementação na vista Cartões
  2. Clica em Replace model
  3. Seleciona outro modelo concluído do mesmo workspace
  4. Opcionalmente, edita o nome da implementação
  5. Clica em Replace Model

O modelo atual continua a servir pedidos enquanto o substituto é iniciado. Quando o substituto estiver pronto, o tráfego passa para o novo modelo. O ID da implementação, o URL, a região e a chave de API permanecem inalterados; o nome apresentado só muda quando introduzes um novo nome. Se a substituição falhar, o modelo e o nome anteriores permanecem ativos.

A substituição exige todas as condições seguintes e é rejeitada caso contrário:

  • A implementação está Ready e não tem outra operação do ciclo de vida em curso
  • O modelo substituto tem pesos e pertence ao mesmo workspace que a implementação
  • O modelo substituto não é o que já está implementado
Um modelo por endpoint

A substituição remove o modelo anterior da implementação. Cada endpoint serve um modelo; cria outra implementação quando precisares de ter ambos os modelos disponíveis ao mesmo tempo.

Estados da implementação#

EstadoDescrição
CreatingA implementação está a ser configurada
DeployingO contentor está a iniciar
ReadyO endpoint está ativo e a aceitar pedidos
StoppingO endpoint está a ser encerrado
StoppedO endpoint está pausado e indisponível
FalhouA implementação falhou (consulta a mensagem de erro)

URL do endpoint#

Cada endpoint tem um URL exclusivo, por exemplo:

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

Ultralytics Platform Deployment Card Endpoint Url With Copy Button

Clica no botão de cópia para copiar o URL. Clica no ícone de documentação para abrir a referência da API própria do endpoint. O endpoint serve estes caminhos:

CaminhoMétodoDescrição
/predictPOSTExecutar inferência; requer a chave de API da implementação
/healthGETVerificação de atividade que comunica o estado do serviço e o número de modelos em cache
/GETResumo do estado do serviço implementado
/docsGETReferência interativa da API gerada para esta implementação, modelo e região

Gestão do ciclo de vida#

Controla o estado do teu 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
AçãoDescrição
StartRetomar um endpoint parado
PararPausar o endpoint
DeleteRemover permanentemente o endpoint

Parar o endpoint#

Para um endpoint quando não quiser que aceite pedidos:

  1. Clica no ícone de pausa no cartão da implementação
  2. O estado do endpoint muda para "A parar" e depois para "Parado"

Os endpoints parados:

  • Não aceitam solicitações e não relatam métricas ao vivo nem status de integridade
  • Param de acumular cobranças por tempo de atividade
  • Perdem estatísticas temporárias de monitoramento e imagens de exemplo quando a instância de atendimento é encerrada
  • Mantêm o URL, a região e a chave API associada, e podem ser reiniciados a qualquer momento
  • Continuam a contar para a quota de implementações do teu plano — elimina um endpoint para libertar o seu lugar

Eliminar o endpoint#

Remover permanentemente um endpoint:

  1. Clica no ícone de eliminação (caixote do lixo) no cartão da implementação
  2. Confirma a eliminação na caixa de diálogo
Ação permanente

A eliminação é imediata e permanente — as implementações não vão para o Lixo. Eliminar o endpoint remove o respetivo serviço e liberta um lugar na quota de implementações. Podes sempre criar um novo endpoint, mas este recebe um novo URL.

As implementações também são removidas quando o respetivo modelo ou projeto é eliminado permanentemente, ou quando um modelo ou projeto enviado para o lixo chega ao fim do seu período de retenção.

Utilizar endpoints#

Autenticação#

Cada implementação está associada a uma única chave API da área de trabalho que detém o modelo. Inclui-a nos pedidos:

Authorization: Bearer YOUR_API_KEY

O endpoint aceita apenas a chave associada aquando da criação, por isso nenhuma outra chave o abre — nem sequer outra chave ativa na mesma área de trabalho. Para controlares qual chave é associada, faz a implementação através da API autenticada com a chave do proprietário da área de trabalho: essa chave exata fica associada e já a tens. As implementações criadas de qualquer outra forma (através da Platform ou de uma chamada à API autenticada como membro da equipa) associam automaticamente uma das chaves ativas da área de trabalho proprietária — identifica-a pelo prefixo da chave apresentado no rodapé do cartão da implementação e pede o respetivo valor ao proprietário da área de trabalho, uma vez que só o proprietário pode consultar os valores das chaves (consulta Chaves API). Os membros da equipa sem a chave associada ainda podem executar inferência através do proxy de previsão da Platform no navegador.

Eliminar a chave associada não bloqueia o endpoint

Eliminar ou desativar a chave API associada não revoga o acesso direto ao endpoint — qualquer pessoa que tenha a sequência da chave ainda pode chamar o URL do endpoint. O que deixa de funcionar é o proxy de previsão da Platform, que verifica a chave em tempo real e comunica que já não está disponível. Para revogares totalmente o acesso, para ou elimina a implementação; depois de rodares as chaves, cria novamente o endpoint para que associe a nova chave.

Pedidos diretos ao endpoint#

Envia pedidos de produção diretamente para o URL apresentado no cartão da implementação. Estes pedidos não passam pelo limitador de taxa da API da Platform, por isso o limite de previsão de 20 pedidos/minuto não se aplica. O endpoint continua a ter o seu próprio limite de capacidade:

  • Uma única instância serve cada endpoint, processando um número limitado de pedidos em simultâneo
  • Os pedidos que não possam ser processados prontamente devolvem 429 com um cabeçalho Retry-After
  • Um único pedido pode ser executado durante até 1 hora, permitindo concluir a inferência de vídeo
  • As respostas superiores a 1 KB são comprimidas com gzip e os pedidos do navegador entre origens são permitidos

Exemplo de pedido#

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 do pedido#

ParâmetroTipoPredefiniçãoIntervaloDescrição
filefile--Ficheiro de imagem ou vídeo (obrigatório, a menos que source esteja definido)
conffloat0.250.01 – 1.0Limiar mínimo de confiança
ioufloat0.70.0 – 0.95Limiar de IoU do NMS
imgszint64032 – 1280Tamanho da imagem de entrada em píxeis
normalizeboolfalse-Devolve as coordenadas da caixa delimitadora como 0 – 1
decimalsint50 – 10Precisão decimal dos valores das coordenadas
bitsint88, 12, 16Quantização do mapa de profundidade, apenas para modelos de profundidade
sourcestring--URL da imagem ou cadeia base64 (alternativa a file)

Consulta Respostas de profundidade para saberes como bits altera o mapa de profundidade devolvido e como o descodificar.

Inferência de vídeo

Os endpoints dedicados aceitam imagens e vídeos através do parâmetro file.

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

Cada fotograma de vídeo é processado individualmente e os resultados são devolvidos por fotograma. Também podes enviar um URL público de imagem ou uma imagem codificada em base64 através do parâmetro source, em vez de file. Os carregamentos demasiado grandes são rejeitados com 413.

Formato da resposta#

Igual à inferência partilhada, com campos específicos da tarefa.

Perguntas frequentes#

  • Os limites de endpoints dependem do plano:

    • Gratuito: até 3 implementações
    • Pro: até 10 implementações
    • Enterprise: implementações ilimitadas

    Cada modelo pode continuar a ser implementado em várias regiões dentro da quota do teu plano. A quota é contabilizada na área de trabalho que detém o modelo, por isso os membros da equipa que implementem um modelo partilhado consomem a quota do proprietário. Ao atingir o limite, é devolvido um erro a pedir-te que elimines primeiro uma implementação existente.

  • Não, as regiões são fixas. Para alterares a região:

    1. Elimina o endpoint existente
    2. Cria um novo endpoint na região pretendida

    O novo endpoint recebe um novo URL. Para alterares apenas o modelo por trás de um endpoint, utiliza a substituição de modelo, que mantém o URL.

  • Para obteres cobertura global:

    1. Implementa em várias regiões
    2. Utiliza um balanceador de carga ou encaminhamento DNS
    3. Encaminha os utilizadores para o endpoint mais próximo
  • O tempo de arranque a frio depende do modelo e de o endpoint ter sido reduzido a zero; a Platform permite que um endpoint inativo tenha tempo adicional para arrancar antes de o declarar não saudável. Executar uma verificação de funcionamento a partir do cartão da implementação antes de um pico de tráfego aquece a instância.

  • Não. Cada implementação serve tráfego no URL de endpoint gerado apresentado no respetivo cartão de implementação, que permanece estável durante a vida útil da implementação — incluindo durante substituições de modelo.

Comentários