Todos os produtos
Search
Central de documentação

Platform For AI:Deploy large language models on PAI-EAS

Última atualização: Jul 01, 2026

O PAI-EAS oferece uma solução completa para implantar modelos de linguagem grande (LLMs) populares, como DeepSeek e Qwen, com um único clique. Isso simplifica tarefas complexas, como configuração de ambiente, ajuste de desempenho e gerenciamento de custos.

Início rápido: Implante um modelo de código aberto

Este exemplo demonstra como implantar o modelo de código aberto Qwen3-8B. O mesmo processo se aplica a outros modelos suportados.

Etapa 1: Crie um serviço

  1. Faça login no PAI console. Selecione uma região na parte superior da página. Em seguida, escolha o workspace desejado e clique em Elastic Algorithm Service (EAS).

  2. Clique em Deploy Service. Na área Scenario-based Model Deployment, clique em LLM Deployment.

  3. Configure os seguintes parâmetros principais:

    Parâmetro

    Valor

    Model Settings

    Selecione Public Model, pesquise e selecione Qwen3-8B.

    Inference Engine

    Escolha vLLM (Recomendado, compatível com a API OpenAI).

    Deployment Template

    Defina como Single Machine. O sistema preenche automaticamente os parâmetros recomendados, como tipo de instância e imagem, com base no modelo.

  4. Clique em Deploy. A implantação do serviço leva cerca de 5 minutos. Quando o status do serviço mudar para Running, a implantação foi concluída com sucesso.

    Nota

    Se a implantação do serviço falhar, consulte Problemas de implantação e status do serviço para solucionar o problema.

Etapa 2: Verifique o serviço

Após a implantação, utilize a depuração online para confirmar que o serviço está operando corretamente.

  1. Clique no nome do serviço para abrir sua página de detalhes e alterne para a aba Online Debugging.

  2. Defina os seguintes parâmetros de solicitação:

    Parâmetro

    Valor

    Método de solicitação

    POST

    Caminho da URL

    Insira o caminho completo da URL no formato /api/predict/{service_name}/v1/chat/completions, onde {service_name} é o nome do seu serviço implantado. Exemplo: /api/predict/llm_qwen3_8b_test/v1/chat/completions.

    Body

    {
      "model": "Qwen3-8B",
      "messages": [
        {"role": "user", "content": "Hello!"}
      ],
      "max_tokens": 1024
    }

    Headers

    Garanta que a solicitação inclua Content-Type: application/json.

  3. Clique em Send Request. Você deve receber uma resposta contendo a resposta do modelo.

Se a solicitação retornar um código de status 200 e uma resposta JSON do tipo chat.completion, o serviço está implantado e funcionando corretamente. O corpo da resposta contém a resposta do modelo no campo content.

Chame a API

Antes de chamar o serviço, acesse a aba View Endpoint Information na página de detalhes do serviço para obter o endpoint e o token.

Os exemplos a seguir mostram como chamar a API do serviço:

cURL

curl -X POST <EAS_ENDPOINT>/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: <EAS_TOKEN>" \
    -d '{
        "model": "<model_name>",
        "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "hello"
        }
        ],
        "max_tokens":1024,
        "temperature": 0.7,
        "top_p": 0.8,
        "stream":true
    }'

No código anterior, substitua os seguintes parâmetros:

  • Substitua <EAS_ENDPOINT> e <EAS_TOKEN> pelo endpoint e token do seu serviço implantado.

  • Troque <model_name> pelo nome do modelo. Para vLLM ou SGLang, obtenha o nome do modelo por meio da API de lista de modelos em <EAS_ENDPOINT>/v1/models.

    curl -X GET <EAS_ENDPOINT>/v1/models -H "Authorization: <EAS_TOKEN>"

OpenAI SDK

Recomendamos o uso do SDK oficial para Python para interagir com o serviço. Certifique-se de ter instalado o OpenAI SDK: pip install openai.

from openai import OpenAI

# 1. Configure the client.
# Replace <EAS_TOKEN> with the token of your deployed service.
openai_api_key = "<EAS_TOKEN>"
# Replace <EAS_ENDPOINT> with the endpoint of your deployed service.
openai_api_base = "<EAS_ENDPOINT>/v1"

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

# 2. Get the model name.
# For BladeLLM, set model = "". BladeLLM does not require a model parameter
# and does not support getting the model name by using client.models.list().
# Set it to an empty string to meet the mandatory parameter requirement of the OpenAI SDK.
models = client.models.list()
model = models.data[0].id
print(model)

# 3. Send a chat request.
# Both streaming (stream=True) and non-streaming (stream=False) outputs are supported.
stream = True
chat_completion = client.chat.completions.create(
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "hello"},          
    ],
    model=model,
    top_p=0.8,
    temperature=0.7,
    max_tokens=1024,
    stream=stream,
)

if stream:
    for chunk in chat_completion:
        print(chunk.choices[0].delta.content, end="")
else:
    result = chat_completion.choices[0].message.content
    print(result)

Python requests

Caso prefira não adicionar uma dependência ao OpenAI SDK, utilize a biblioteca requests.

import json
import requests

# Replace <EAS_ENDPOINT> with the endpoint of your deployed service.
EAS_ENDPOINT = "<EAS_ENDPOINT>"
# Replace <EAS_TOKEN> with the token of your deployed service.
EAS_TOKEN = "<EAS_TOKEN>"
# Replace <model_name> with the model name. You can get it from the <EAS_ENDPOINT>/v1/models API.
# For BladeLLM, this API is not supported. You can omit the "model" field or set it to "".
model = "<model_name>"

url = f"{EAS_ENDPOINT}/v1/chat/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": EAS_TOKEN,
}

stream = True
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "hello"},
]

req = {
    "messages": messages,
    "stream": stream,
    "temperature": 0.7,
    "top_p": 0.8,
    "max_tokens": 1024,
    "model": model,
}
response = requests.post(
    url,
    json=req,
    headers=headers,
    stream=stream,
)

if stream:
    for chunk in response.iter_lines(chunk_size=8192, decode_unicode=False):
        msg = chunk.decode("utf-8")
        # The following code processes Server-Sent Events (SSE) formatted streaming responses.
        if msg.startswith("data:"):
            info = msg[6:]
            if info == "[DONE]":
                break
            else:
                resp = json.loads(info)
                if resp["choices"][0]["delta"].get("content") is not None:
                    print(resp["choices"][0]["delta"]["content"], end="", flush=True)
else:
    resp = json.loads(response.text)
    print(resp["choices"][0]["message"]["content"])

Crie uma interface web local

O Gradio é uma biblioteca de UI para Python que ajuda a construir rapidamente interfaces interativas para modelos. Siga estas etapas para executar uma interface web Gradio localmente.

  1. Baixe o código

    Link do GitHub | Link do OSS

  2. Prepare o ambiente

    É necessário Python 3.10 ou superior. Instale as dependências executando pip install openai gradio.

  3. Inicie a aplicação web

    No terminal, execute o comando abaixo. Substitua <EAS_ENDPOINT> e <EAS_TOKEN> pelo endpoint e token do serviço implantado.

    python webui_client.py --eas_endpoint "<EAS_ENDPOINT>" --eas_token "<EAS_TOKEN>"
  4. Após a inicialização bem-sucedida, uma URL local será exibida (geralmente http://127.0.0.1:7860). Abra esta URL em um navegador para acessá-la.

Integre com aplicações de terceiros

É possível integrar um serviço PAI-EAS com diversos clientes e ferramentas de desenvolvimento compatíveis com a API OpenAI. As configurações essenciais são o endpoint do serviço, token e o nome do modelo.

Dify

  1. Instale o provedor de modelo compatível com a API OpenAI

    Clique no seu avatar no canto superior direito e selecione Settings. No painel à esquerda, escolha Model Providers. Se OpenAI-API-compatible não estiver na Model List, localize-o na lista abaixo e clique em Install.

  2. Adicione um modelo

    Clique em Add Model no canto inferior direito do cartão OpenAI-API-compatible e configure os seguintes parâmetros:

    • Model type: Selecione LLM.

    • Model name: Para uma implantação vLLM, envie uma solicitação GET para o endpoint /v1/models para obter o nome. Neste exemplo, insira Qwen3-8B.

    • API key: Insira o token do seu serviço PAI-EAS.

    • API endpoint URL: Digite o endpoint público do seu serviço PAI-EAS e adicione /v1 ao final.

  3. Teste a integração

    1. Na página principal do Dify, clique em Create Blank App, selecione o tipo Chatflow, insira um nome para a aplicação e outras informações, e então clique em Create.

    2. Clique no nó LLM, selecione o modelo adicionado e defina o contexto e os prompts. Escolha Qwen3-8B CHAT na categoria OpenAI-API-compatible. No prompt SYSTEM, insira uma descrição de função e referencie a variável de contexto sys.query. Na área USER, adicione as variáveis sys.query e sys.files. Ajuste os parâmetros do modelo, como Max Tokens (o padrão é 512), Presence Penalty e Thinking Mode, conforme necessário.

    3. Clique em Preview no canto superior direito e faça uma pergunta.

      O bot processa a pergunta por meio do workflow e retorna uma resposta. A parte superior da área de conversa exibe um status de Deep thinking e o tempo decorrido.

Chatbox

  1. Acesse o Chatbox para baixar e instalar o cliente para o seu dispositivo, ou clique em Launch Web App para usar a versão web. Este exemplo utiliza macOS M3.

  2. Adicione um provedor de modelo. Clique em Settings, adicione um provedor de modelo, insira um nome como pai e selecione OpenAI API Compatible como modo de API.

  3. Selecione o provedor pai e configure os seguintes parâmetros:

    • API key: Insira o token do seu serviço PAI-EAS.

    • API host: Digite o endpoint público do seu serviço PAI-EAS e adicione /v1 ao final.

    • API path: Deixe este campo vazio.

    • Model: Clique em Get para adicionar o modelo. O mecanismo de inferência BladeLLM não suporta recuperação de modelo via API. Se estiver usando BladeLLM, adicione o modelo manualmente clicando em New.

  4. Teste o chat. Clique em New Chat e selecione o serviço de modelo no canto inferior direito da caixa de entrada de texto.

    A parte superior da interface de chat exibe o prompt do sistema, como You are a helpful assistant.. Digite uma pergunta como "Who are you?" na caixa de texto e envie. A área de resposta do assistente mostra uma seção recolhida de Deep thinking com o tempo de raciocínio, seguida pela resposta do modelo.

Cherry Studio

  1. Instale o cliente

    Visite o Cherry Studio para baixar e instalar o cliente.

    Você também pode baixá-lo em https://github.com/CherryHQ/cherry-studio/releases .
  2. Configure o serviço de modelo

    1. Clique no ícone de configurações no canto inferior esquerdo. Na seção Model Service, clique em Add. Em Provider name, insira um nome personalizado, como PAI, e defina o tipo de provedor como OpenAI. Clique em OK.

    2. No campo API key, insira o token do seu serviço PAI-EAS. No campo API address, digite o endpoint público do seu serviço PAI-EAS.

    3. Clique em Add e insira o nome do modelo no campo Model ID. Para implantações vLLM, obtenha o nome enviando uma solicitação GET para a API /v1/models. Por exemplo, insira Qwen3-8B. O nome diferencia maiúsculas de minúsculas. Para o API Address, insira a URL, mas omita o número da versão v1 no final. Se a URL terminar com um caractere #, o sistema força o uso do caminho /v1/chat/completions. Após concluir a configuração, a seção Model identifica e lista automaticamente os modelos disponíveis, como Qwen3-8B.

    4. Clique em Test ao lado do campo de entrada API key para verificar a conectividade.

  3. Teste rapidamente o modelo

    Retorne à interface de chat, selecione o modelo na parte superior e inicie uma conversa.

    Por exemplo, se você inserir Who are you? e o modelo Qwen3-8B responder com uma autoapresentação, isso indica que o modelo está implantado e funcionando corretamente.

Faturamento

Os custos incluem, mas não se limitam aos itens abaixo. Para mais informações, consulte Faturamento do PAI-EAS.

  • Taxas de computação: Representam o custo principal. Ao criar um serviço PAI-EAS, escolha recursos de pagamento conforme o uso ou de assinatura conforme suas necessidades.

  • Taxas de armazenamento: Caso utilize um modelo personalizado, os arquivos do modelo ficam armazenados no Object Storage Service (OSS), o que gera taxas de armazenamento.

Uso em produção

Escolha o modelo certo

  1. Defina seu cenário de aplicação:

    • Conversa geral: Opte sempre por um modelo ajustado por instruções, em vez de um modelo base, para garantir que o modelo compreenda e siga suas instruções.

    • Geração de código: Prefira modelos especializados em código, como a série Qwen3-Coder, pois geralmente apresentam desempenho muito superior ao de modelos de uso geral em tarefas relacionadas a código.

    • Tarefas específicas de domínio: Se sua tarefa for altamente especializada, como em finanças ou direito, considere buscar um modelo ajustado para esse domínio ou ajustar você mesmo um modelo de uso geral.

  2. Equilibre desempenho e custo: Modelos maiores geralmente são mais capazes, mas exigem mais recursos de computação e têm custos de inferência mais altos. Comece com um modelo menor, como um modelo 7B, para validação. Se o desempenho não atender às suas necessidades, experimente um modelo maior.

  3. Consulte benchmarks oficiais: Utilize rankings como OpenCompass e LMSys Chatbot Arena. Essas tabelas avaliam modelos em múltiplas dimensões, incluindo raciocínio, codificação e matemática, oferecendo orientações valiosas para a seleção do modelo.

Escolha o mecanismo de inferência adequado

  • vLLM/SGLang: Como escolhas predominantes na comunidade de código aberto, oferecem amplo suporte a modelos, além de extensa documentação e exemplos da comunidade, facilitando a integração e a solução de problemas.

  • BladeLLM: Mecanismo de inferência desenvolvido pela equipe Alibaba Cloud PAI. É profundamente otimizado para modelos específicos, especialmente a série Qwen, podendo alcançar maior desempenho e menor uso de memória GPU.

Otimização de inferência

  • Implante um LLM com roteamento inteligente: Distribui solicitações dinamicamente com base em métricas em tempo real, como throughput de tokens e uso de memória GPU. Essa abordagem equilibra o poder de computação e a alocação de memória entre as instâncias de inferência, sendo adequada para implantações com múltiplas instâncias e cargas de solicitação distribuídas de forma desigual. Melhora a utilização dos recursos do cluster e a estabilidade do sistema.

  • Implante modelos Mixture of Experts (MoE) usando paralelismo de especialistas e separação PD: Para modelos Mixture of Experts (MoE), esta abordagem utiliza técnicas como paralelismo de especialistas (EP) e separação Prefill-Decode (PD) para aumentar o throughput de inferência e reduzir os custos de implantação.

Perguntas frequentes

P: O serviço está travado no estado Pending

Siga estas etapas para solucionar o problema:

  1. Verifique o status da instância: Na página de lista de serviços, clique no nome do serviço para acessar a página de detalhes. Na seção Service Instance, verifique o status da instância. Se aparecer insufficient resources, o grupo de recursos públicos atual não tem capacidade suficiente.

  2. Soluções (por ordem de prioridade):

    1. Opção 1: Altere o tipo de instância. Retorne à página de implantação e selecione um modelo de GPU diferente.

    2. Solução 2: Use recursos dedicados. Para Resource Type, selecione um grupo de recursos EAS para utilizar recursos dedicados (o grupo de recursos deve ser criado antecipadamente).

  3. Medidas preventivas:

    1. Crie um grupo de recursos dedicados para evitar as limitações dos recursos públicos.

    2. Durante horários de pico, realize testes em várias regiões.

P: Erros de chamada

  1. A chamada de API retorna o seguinte erro: Unsupported Media Type: Only 'application/json' is allowed

    Certifique-se de que os cabeçalhos da solicitação contenham Content-Type: application/json.

  2. A chamada de API retorna o seguinte erro: The model '<model_name>' does not exist.

    O mecanismo de inferência vLLM exige que o campo do modelo seja especificado corretamente. Obtenha o nome do modelo chamando o endpoint /v1/models com uma solicitação GET.

Para mais dúvidas, consulte Perguntas frequentes do EAS.