Skip to main content
Este guia usa a implantação de um modelo Llama 3.1 8B como exemplo para apresentar como criar um Endpoint Serverless do zero.

Etapa 1: Preparar a imagem do contêiner

Você precisa empacotar o ambiente de execução em uma imagem Docker e enviá-la antecipadamente para um repositório de imagens. Atualmente, Novita AI oferece suporte à especificação de “repositório de imagens público” e “repositório de imagens privado” (incluindo credenciais de acesso ao repositório de imagens). Usamos o repositório oficial de imagens do vLLM para servir o modelo Llama 3.1 8B: vllm/vllm-openai:latest. Você pode usar este endereço de imagem diretamente.

Etapa 2: Acessar o Console

Acesse o Console Serverless, selecione a especificação apropriada de instância de contêiner com GPU e clique em “Criar Endpoint”.
Atualmente, apenas especificações de instância RTX 4090 24GB são compatíveis. Mais opções serão disponibilizadas gradualmente; acompanhe as atualizações oficiais.

Etapa 3: Configurar o Endpoint Serverless

Aqui usamos a imagem pública vllm/vllm-openai:latest como exemplo de configuração:
  • Nome do Endpoint: Usado para identificar exclusivamente seu Endpoint. O sistema gerará um nome para você por padrão, mas você também pode especificar um.
  • Nome do App: O nome da aplicação faz parte da URL do Endpoint. Ele é opcional e permite personalização; somente letras minúsculas, números e hifens são permitidos. Se não for especificado, o sistema gerará um automaticamente.
  • Configuração de Workers
    • Workers Min: O número mínimo de Workers a serem mantidos. Pode ser definido como 0, para que nenhum Worker seja mantido quando seu serviço não tiver solicitações. Observe que defini-lo como 0 pode não responder rapidamente a solicitações subsequentes. Tenha cuidado se o seu cenário exigir tempo de resposta rápido.
    • Workers Max: O número máximo de Workers a serem mantidos. Quando o volume de solicitações do seu serviço aumentar e acionar o mecanismo de autoescalonamento, o número de Workers aumentará. Esta configuração limita o número máximo de Workers para ajudar a controlar custos.
    • Tempo Limite de Ociosidade (segundos): Quando o mecanismo de autoescalonamento aciona a retirada de um Worker do ar, a plataforma manterá o Worker pelo tempo especificado para lidar rapidamente com possíveis aumentos subsequentes de solicitações. Observe que a plataforma cobrará por esse tempo.
    • Concorrência Máxima: O número máximo de solicitações simultâneas que cada Worker pode processar. Quando a concorrência excede o valor máximo, as solicitações serão encaminhadas para outros Workers. Se todos os Workers estiverem totalmente ocupados, as solicitações serão enfileiradas para execução.
    • GPUs/Worker: O número de GPUs que cada Worker ocupa.
    • Versão do CUDA: Permite especificar a versão do CUDA.
  • Política de Escalonamento:
    • Atraso da Fila: Ajusta o número de Workers com base no tempo de espera das solicitações na fila. Você precisa configurar o “Tempo de Atraso da Fila (segundos)”. Quando o tempo de espera das solicitações na fila exceder esse valor, o autoescalonamento será acionado. Quando for menor que esse valor, o autoescalonamento será acionado para reduzir a escala (combinado com o “Tempo Limite de Ociosidade (segundos)” definido anteriormente para determinar o momento específico em que o Worker ficará offline).
    • Contagem de Solicitações: Ajusta o número de Workers com base no número de solicitações na fila. Você precisa configurar a “Contagem Máxima de Solicitações da Fila”. Quando o número de solicitações na fila exceder esse valor, o autoescalonamento será acionado. Quando for menor que esse valor, o autoescalonamento será acionado para reduzir a escala (combinado com o “Tempo Limite de Ociosidade (segundos)” definido anteriormente para determinar o momento específico em que o Worker ficará offline).
  • Configuração da Imagem:
    • Imagem do Contêiner: O endereço do repositório de imagens, como vllm/vllm-openai:latest.
    • Credenciais do Registro de Contêiner: Ao especificar um repositório de imagens privado, você precisa definir as credenciais de acesso. Configure-as em Configurações - Autenticação do Registro de Contêiner.
    • Porta HTTP: A porta HTTP exposta pelos Workers. O balanceador de carga encaminhará as solicitações para esta porta dos Workers, por exemplo, 8080 neste caso.
    • Comando de Inicialização do Contêiner: O comando executado quando o contêiner inicia. Por exemplo: --model meta-llama/Llama-3.1-8B-Instruct --max-model-len 4096.
  • Configuração de Armazenamento: Aqui você pode configurar o disco do contêiner, o disco de volume e o volume de rede. Atualmente, os tamanhos do disco do contêiner e do disco de volume são fixos. Mais opções serão disponibilizadas gradualmente; acompanhe as atualizações oficiais.
  • Outros:
    • Caminho de Verificação de Integridade: O balanceador de carga integrado realizará verificações de integridade por meio deste caminho. Ele determinará se deve encaminhar solicitações para o Worker com base em se o código de status retornado é 200, como /health.
    • Variáveis de Ambiente: Aqui você pode configurar as variáveis de ambiente das quais o serviço depende. Por exemplo: HUGGING_FACE_HUB_TOKEN={Your Hugging Face Access Token (with read permission)}.
Após confirmar que a configuração está correta, clique em “Implantar” para concluir o processo de criação.

Etapa 4: Acessar o serviço do modelo Llama 3 8B implantado

Você pode encontrar o Endpoint Serverless que acabou de criar no Console Serverless. Quando o status do Endpoint mudar para “Servindo” e pelo menos um Worker estiver no estado “Em execução”, clique no botão “Copiar” para copiar a URL de acesso ao serviço do modelo. E você pode usar o comando curl para acessar o serviço como abaixo:

Próxima etapa

Em seguida, consulte o documento Gerenciar Endpoint Serverless para aprender como verificar e modificar o endpoint serverless que você acabou de criar.
Última modificação em 15 de maio de 2026