Todos os produtos
Search
Central de documentação

Platform For AI:Deploy, fine-tune, and evaluate Qwen3 models in PAI

Última atualização: Jun 27, 2026

Implante, ajuste fino e avalie modelos Qwen3 no PAI Model Gallery. O Qwen3 inclui dois modelos MoE e seis modelos densos em oito tamanhos.

Implantar e invocar um modelo

Implantar um modelo

Este exemplo implanta o modelo Qwen3-235B-A22B com SGLang.

  1. Acesse a página do Model Gallery.

    1. Faça login no PAI console e selecione uma região. Se necessário, alterne de região para localizar recursos de computação disponíveis.

    2. No painel de navegação à esquerda, escolha Workspaces e clique em no workspace desejado.

    3. No painel de navegação à esquerda, escolha QuickStart > Model Gallery.

  2. Na página do Model Gallery, clique em no cartão do modelo Qwen3-235B-A22B.

  3. No canto superior direito, clique em Deploy. Configure os parâmetros a seguir e mantenha os valores padrão para os demais.

    • Deployment Method: Defina Inference Engine como SGLang e Deployment Template como Single-Node.

    • Resource Information: Em Resource Type, selecione recurso público. O sistema recomenda um tipo de instância adequado. Para configurações mínimas, consulte Apêndice: Recursos de computação e limites de tokens.

      Importante

      Se nenhuma especificação estiver disponível, o pool de recursos públicos da região é insuficiente. Tente:

      • Alternar de região. A região China (Ulanqab) possui mais instâncias preemptíveis Lingjun (ml.gu7ef.8xlarge-gu100, ml.gu7xf.8xlarge-gu108, ml.gu8xf.8xlarge-gu108, ml.gu8tf.8.40xlarge). Recursos preemptíveis podem ser recuperados — defina seu lance com cuidado.

      • Usar um grupo de recursos do EAS. Adquira recursos dedicados do EAS na página de Assinatura de Recursos Dedicados do EAS.

Depurar online

Na página Service details, clique em depuração online. Exemplo:

image

Invocar a API

  1. Obtenha o endpoint e o token do serviço:

    1. No painel de navegação à esquerda, escolha Model Gallery > Job Management > Deployment Jobs e clique em no nome do serviço para abrir a página de detalhes.

    2. Clique em View Call Information para visualizar o endpoint de internet e o token.

      image

  2. Exemplo: chame a API /v1/chat/completions para um serviço implantado com SGLang.

    curl -X POST \
        -H "Content-Type: application/json" \
        -H "Authorization: <EAS_TOKEN>" \
        -d '{
            "model": "<model_name, obtained from the /v1/models API>",
            "messages": [
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "hello!"
            }
            ]
        }' \
        <EAS_ENDPOINT>/v1/chat/completions
    from openai import OpenAI
    
    ##### API configuration #####
    # Replace <EAS_ENDPOINT> with the service endpoint and <EAS_TOKEN> with the service token.
    openai_api_key = "<EAS_TOKEN>"
    openai_api_base = "<EAS_ENDPOINT>/v1"
    
    client = OpenAI(
        api_key=openai_api_key,
        base_url=openai_api_base,
    )
    
    models = client.models.list()
    model = models.data[0].id
    print(model)
    
    stream = True
    chat_completion = client.chat.completions.create(
        messages=[
            {"role": "user", "content": "Hello, could you please introduce yourself"}
        ],
        model=model,
        max_completion_tokens=2048,
        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)

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

Outros métodos de invocação estão descritos em Invocar uma API para um serviço LLM implantado.

Integração com terceiros

Para conectar-se ao Chatbox, Dify ou Cherry Studio, consulte Integrar com clientes de terceiros.

Configuração avançada

Edite a configuração JSON para ativar recursos avançados, como ajustar o limite de tokens e habilitar a chamada de ferramentas.

Procedimento: Na página de implantação, edite o JSON na seção Service Configuration. Caso o serviço já esteja implantado, atualize-o para acessar a página de implantação.

image

Modificar limite de tokens

Os modelos Qwen3 suportam nativamente 32.768 tokens. O escalonamento RoPE estende esse valor para 131.072, embora o desempenho possa diminuir ligeiramente. Modifique o campo containers.script no JSON de configuração do serviço:

  • vLLM:

    vllm serve ... --rope-scaling '{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":32768}' --max-model-len 131072
  • SGLang:

    python -m sglang.launch_server ... --json-model-override-args '{"rope_scaling":{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":32768}}'

Analisar chamadas de ferramentas

O vLLM e o SGLang podem analisar chamadas de ferramentas em mensagens estruturadas. Modifique o campo containers.script no JSON de configuração do serviço:

  • vLLM:

    vllm serve ... --enable-auto-tool-choice --tool-call-parser hermes
  • SGLang:

    python -m sglang.launch_server ... --tool-call-parser qwen25

Controlar modo de raciocínio

O Qwen3 usa o modo de raciocínio por padrão. Uma alteração rígida desativa o raciocínio completamente; uma alteração flexível permite que o modelo decida com base nas instruções do usuário.

Usar alteração flexível com /no_think

Exemplo de corpo da solicitação:

{
  "model": "<MODEL_NAME>",
  "messages": [
    {
      "role": "user",
      "content": "/no_think Hello!"
    }
  ],
  "max_tokens": 1024
}

Alteração rígida

  • Controle via parâmetros da API (vLLM e SGLang): Adicione o parâmetro chat_template_kwargs à chamada da API. Exemplo:

    curl -X POST \
        -H "Content-Type: application/json" \
        -H "Authorization: <EAS_TOKEN>" \
        -d '{
            "model": "<MODEL_NAME>",
            "messages": [
                {
                    "role": "user",
                    "content": "Give me a short introduction to large language models."
                }
            ],
            "temperature": 0.7,
            "top_p": 0.8,
            "max_tokens": 8192,
            "presence_penalty": 1.5,
            "chat_template_kwargs": {"enable_thinking": false}
        }' \
        <EAS_ENDPOINT>/v1/chat/completions
    from openai import OpenAI
    # # Replace <EAS_ENDPOINT> with the service endpoint and <EAS_TOKEN> with the service token.
    openai_api_key = "<<EAS_TOKEN>"
    openai_api_base = "<EAS_ENDPOINT>/v1"
    
    client = OpenAI(
        api_key=openai_api_key,
        base_url=openai_api_base,
    )
    
    chat_response = client.chat.completions.create(
        model="<MODEL_NAME>",
        messages=[
            {"role": "user", "content": "Give me a short introduction to large language models."},
        ],
        temperature=0.7,
        top_p=0.8,
        presence_penalty=1.5,
        extra_body={"chat_template_kwargs": {"enable_thinking": False}},
    )
    print("Chat response:", chat_response)

    Substitua <EAS_ENDPOINT> pelo endpoint do serviço, <EAS_TOKEN> pelo token e <MODEL_NAME> pelo nome do modelo obtido na API /v1/models.

  • Desativar modificando a configuração do serviço (BladeLLM): Use um modelo de chat que impeça o modelo de gerar conteúdo de raciocínio na inicialização.

    • Na página do modelo no Model Gallery, verifique se há um método para desativar o raciocínio no BladeLLM. Por exemplo, com o Qwen3-8B, modifique o campo containers.script:

      blade_llm_server ... --chat_template /model_dir/no_thinking.jinja
    • Crie seu próprio modelo de chat, como no_thinking.jinja, monte-o a partir do OSS e atualize o campo containers.script.

      image

Analisar conteúdo de raciocínio

Para gerar o conteúdo de raciocínio separadamente, modifique o campo containers.script:

  • vLLM:

    vllm serve ... --enable-reasoning --reasoning-parser qwen3
  • SGLang:

    python -m sglang.launch_server ... --reasoning-parser deepseek-r1

Ajustar fino um modelo

  • Os modelos Qwen3-32B, 14B, 8B, 4B, 1,7B e 0,6B suportam SFT (ajuste fino de parâmetros completos, LoRA e QLoRA) e treinamento GRPO.

  • Envie jobs de treinamento com um único clique para treinar modelos personalizados para seus cenários de negócios.

image

image

Avaliar um modelo

Siga as diretrizes em Avaliação de modelos e Melhores práticas para avaliação de LLM.

Apêndice: Recursos de computação e limites de tokens

A tabela a seguir lista as configurações mínimas e as contagens máximas de tokens para modelos Qwen3 em diferentes frameworks de inferência.

Nota

Apenas o Qwen3-235B-A22B-FP8 requer menos recursos que sua contraparte não FP8. Outros modelos FP8 compartilham os mesmos requisitos de suas versões não FP8 — por exemplo, o Qwen3-30B-A3B-FP8 usa os mesmos recursos que o Qwen3-30B-A3B.

Modelo

Máximo de tokens (entrada + saída)

Configuração mínima

SGLang

vLLM

Qwen3-235B-A22B

32.768 (com escalonamento RoPE: 131.072)

32.768 (com escalonamento RoPE: 131.072)

8 × GPU H / GU120

(8 × 96 GB de memória GPU)

Qwen3-235B-A22B-FP8

32.768 (com escalonamento RoPE: 131.072)

32.768 (com escalonamento RoPE: 131.072)

4 × GPU H / GU120

(4 × 96 GB de memória GPU)

Qwen3-30B-A3B

Qwen3-30B-A3B-Base

Qwen3-32B

32.768 (com escalonamento RoPE: 131.072)

32.768 (com escalonamento RoPE: 131.072)

1 × GPU H / GU120

(96 GB de memória GPU)

Qwen3-14B

Qwen3-14B-Base

32.768 (com escalonamento RoPE: 131.072)

32.768 (com escalonamento RoPE: 131.072)

1 × GPU L / GU60

(48 GB de memória GPU)

Qwen3-8B

Qwen3-4B

Qwen3-1,7B

Qwen3-0,6B

Qwen3-8B-Base

Qwen3-4B-Base

Qwen3-1,7B-Base

Qwen3-0,6B-Base

32.768 (com escalonamento RoPE: 131.072)

32.768 (com escalonamento RoPE: 131.072)

1 × A10 / GU30

(24 GB de memória GPU)

Importante

Um modelo 8B com escalonamento RoPE requer 48 GB de memória GPU.

FAQ

P: Os serviços implantados no PAI suportam contexto de sessão?

Não. As APIs de serviço de modelo do PAI são sem estado — cada chamada é independente e nenhum contexto é retido no servidor.

Para implementar conversas de múltiplas turnos, o cliente deve incluir o histórico da conversa em cada solicitação. Como implemento uma conversa de múltiplas turnos?