Usar o processamento Flex com o Azure OpenAI no Microsoft Foundry Models (versão prévia)

O processamento flex (versão prévia) fornece inferência a um desconto de 50% em comparação com o processamento Standard para cargas de trabalho que podem tolerar tempos de resposta mais lentos e indisponibilidade ocasional de recursos. Selecione o processamento Flex para uma solicitação individual da Responses API ou da Chat Completions API ao definir service_tier como flex.

Use o processamento flex para trabalhos não interativos e de prioridade mais baixa, como avaliações de modelo, enriquecimento de dados, análise de documentos e fluxos de trabalho de aplicativo assíncronos. Para cargas de trabalho sensíveis à latência ou à capacidade, use o processamento Standard, o processamento de prioridade ou a taxa de transferência provisionada.

Importante

Com a introdução do processamento Flex, as solicitações que definem service_tier como flex só são processadas quando o modelo selecionado oferece suporte ao processamento Flex. Um modelo sem suporte retorna um HTTP 400 invalid_request_error e não retorna ao processamento Standard. O processamento flex não tem SLA de latência ou SLA de serviço.

Pré-requisitos

  • Uma assinatura do Azure. Criar um gratuitamente.

  • Um recurso Azure OpenAI com um modelo com suporte implantado usando o tipo de implantação Global Standard.

  • O ponto de extremidade do recurso e uma chave de API ou credenciais do Microsoft Entra ID. Os exemplos neste artigo usam uma chave de API armazenada na variável de AZURE_OPENAI_API_KEY ambiente.

  • Uma carga de trabalho que pode tolerar latência variável e respostas transitórias de indisponibilidade de recursos.

  • Python 3.10 ou posterior e o pacote Python OpenAI para os exemplos de Python:

    pip install --upgrade openai
    

Enviar uma solicitação Flex

Defina service_tier como flex em cada solicitação que deve usar o processamento flex. O valor model é o nome da implantação do seu modelo no Azure.

Python

O exemplo a seguir envia uma solicitação Flex usando a API de Respostas:

import os

from openai import OpenAI

AZURE_OPENAI_ENDPOINT = "https://YOUR-RESOURCE-NAME.openai.azure.com"

# Create a client with a longer timeout for Flex requests.
openai = OpenAI(
    base_url=f"{AZURE_OPENAI_ENDPOINT}/openai/v1/",
    api_key=os.environ["AZURE_OPENAI_API_KEY"],
    timeout=900.0,
)

# Send a request for Flex processing.
response = openai.responses.create(
    model="YOUR-GPT-5.6-SOL-DEPLOYMENT-NAME",
    input="Analyze these records and summarize the recurring themes.",
    service_tier="flex",
)

print(response.output_text)
print(f"Processed by service tier: {response.service_tier}")
<generated-analysis>
Processed by service tier: flex

A resposta contém a análise gerada e a camada de serviço que processa a solicitação.

Referência:API de Responses

REST

O exemplo a seguir envia a mesma solicitação diretamente para a API de Respostas:

curl -X POST https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d '{
    "model": "YOUR-GPT-5.6-SOL-DEPLOYMENT-NAME",
    "input": "Analyze these records and summarize the recurring themes.",
    "service_tier": "flex"
  }'
{
    "service_tier": "flex",
    "status": "completed",
    "output": [<response-output>]
}

Para verificar qual camada processa a solicitação, verifique o service_tier campo em uma resposta bem-sucedida.

Referência:referência REST da API de respostas

Escolher uma opção de processamento

O processamento flex, Standard e Priority são opções de camada de serviço para solicitações de API online. O processamento em lote e o provisionamento de taxa de transferência são opções de implantação e compra separadas.

Option Como selecioná-lo Latência e disponibilidade Modelo de custo Mais adequado para
Processamento flexível Defina o nível service_tier de solicitação como flex. Latência variável. As solicitações podem retornar HTTP 429 quando a capacidade flex não estiver disponível. desconto de 50% em comparação às taxas padrão de tokens. Os descontos para tokens em cache também se aplicam. Avaliações, enriquecimento, análise offline e tarefas em segundo plano tolerantes a atrasos.
Processamento padrão Defina o nível service_tier de solicitação como defaultou use a camada Standard configurada para a implantação. Processamento online de melhor esforço para cargas de trabalho gerais. Taxa padrão de pagamento por token. Cargas de trabalho de desenvolvimento, teste e produção com tráfego variável.
Processamento prioritário Configure a Prioridade na implantação ou defina o nível service_tier de solicitação como priority. Latência mais baixa e mais consistente, com um destino definido para modelos com suporte. Taxa prioritária de pagamento por token. Aplicativos online sensíveis à latência sem um compromisso de capacidade reservada.
Batch Envie uma tarefa em lote assíncrona para uma implantação do Batch. A meta é concluir os resultados em até 24 horas. Nenhuma meta de latência em tempo real. Preço por lote com desconto. Trabalhos offline grandes que não exigem uma resposta imediata.
Capacidade provisionada Crie uma implantação provisionada e adquira ou reserve unidades de throughput provisionado (PTUs). Capacidade reservada com taxa de transferência e latência previsíveis. Cobrança de PTU por hora ou uma reserva de Azure. Cargas de trabalho de produção de alto volume e de missão crítica.

Escolha o processamento Flex quando todas as condições a seguir se aplicarem:

  • Sua carga de trabalho pode tolerar tempos de processamento mais longos e variáveis.
  • Você prefere menor custo em vez de latência previsível.
  • Seu aplicativo pode tentar novamente falhas transitórias ou rotear uma solicitação com falha para o processamento Standard.
  • Há suporte para o modelo selecionado e o contexto de solicitação.

Não use o processamento Flex quando qualquer uma das condições a seguir se aplicar:

  • Um usuário está aguardando uma resposta interativa.
  • A solicitação deve ser concluída dentro de uma meta de latência rigorosa.
  • Seu aplicativo não pode tolerar ou tentar novamente respostas HTTP 429 transitórias.
  • Você precisa de capacidade de processamento reservada ou taxa de transferência previsível.

O processamento flex tem as seguintes características:

  • Seleção no nível da solicitação: Defina service_tier para flex cada solicitação que deve usar o processamento Flex.
  • Nenhuma implantação separada: Envie solicitações Standard e Flex para a mesma implantação Global Standard e selecione a camada por solicitação.
  • APIs com suporte: Use a API de Respostas ou a API de Conclusões de Chat.
  • Resposta síncrona: A chamada à API permanece síncrona, embora a carga de trabalho possa levar mais tempo para ser concluída. O processamento Flex não é o mesmo que a Batch API.
  • Disponibilidade dependente da capacidade: Uma solicitação pode retornar HTTP 429 quando a capacidade flex não estiver disponível.
  • Sem fallback automático para Standard: Seu aplicativo deve tentar novamente explicitamente com service_tier definido como default se o processamento Standard for aceitável.
  • Cota compartilhada: As solicitações Flex e Standard usam a cota atribuída à implantação Global Standard.
  • Mesma qualidade de saída do modelo: O Flex usa o mesmo modelo subjacente que o Standard. A camada de processamento altera a latência, a disponibilidade e o preço, não a qualidade do modelo.

Note

Os tokens de entrada e saída flex recebem um desconto de 50% em comparação com as taxas de token Standard correspondentes. Tokens de entrada em cache elegíveis também recebem o desconto aplicável para tokens em cache. Para ver os preços atuais, consulte Preços do Azure OpenAI.

Ver modelos compatíveis

O processamento Flex tem disponibilidade limitada de modelos no lançamento. gpt-5.6-sol é o primeiro modelo com suporte. A tabela a seguir lista modelos com suporte. Microsoft adiciona mais modelos à medida que o suporte fica disponível.

Model Version Tipo de implantação Disponibilidade da região
gpt-6.1-sol 2026-09-29 Padrão Global Todas as regiões Azure em que o Global Standard está disponível
gpt-6-sol 2026-09-22 Padrão Global Todas as regiões Azure em que o Global Standard está disponível
gpt-6-luna 2026-09-22 Padrão Global Todas as regiões Azure em que o Global Standard está disponível
gpt-6-astra 2026-09-03 Padrão Global Todas as regiões Azure em que o Global Standard está disponível
gpt-5.6-sol 2026-07-09 Padrão Global Todas as regiões Azure em que o Global Standard está disponível
gpt-5.6-luna 2026-07-09 Padrão Global Todas as regiões Azure em que o Global Standard está disponível
gpt-5.6-terra 2026-07-09 Padrão Global Todas as regiões Azure em que o Global Standard está disponível

Verifique esta tabela antes de enviar uma solicitação Flex. Não suponha que um modelo ou uma nova versão de modelo dê suporte ao processamento Flex porque ele dá suporte ao processamento Standard ou Priority. Um modelo sem suporte retorna HTTP 400. Para evitar interromper seu aplicativo, implemente um fallback no nível do aplicativo para o processamento Standard quando os preços e o desempenho padrão forem aceitáveis.

Voltar ao processamento Standard

O processamento flex não roteia automaticamente uma solicitação para Standard quando a capacidade flex não está disponível. Se concluir a solicitação for mais importante do que manter os preços Flex, tente novamente a solicitação com service_tier definido como default.

O exemplo a seguir usa uma política que prioriza a conclusão. Primeiro, tenta o processamento Flex e faz uma nova tentativa usando o processamento Standard após receber qualquer resposta HTTP 429:

import os

from openai import OpenAI, RateLimitError

AZURE_OPENAI_ENDPOINT = "https://YOUR-RESOURCE-NAME.openai.azure.com"

# Create a client with a longer timeout for Flex requests.
openai = OpenAI(
    base_url=f"{AZURE_OPENAI_ENDPOINT}/openai/v1/",
    api_key=os.environ["AZURE_OPENAI_API_KEY"],
    timeout=900.0,
)

request = {
    "model": "YOUR-GPT-5.6-SOL-DEPLOYMENT-NAME",
    "input": "Analyze these records and summarize the recurring themes.",
}

# Try Flex processing, and fall back to Standard after an HTTP 429 response.
try:
    response = openai.responses.create(**request, service_tier="flex")
except RateLimitError:
    response = openai.responses.create(**request, service_tier="default")

print(response.output_text)
print(f"Processed by service tier: {response.service_tier}")
<generated-analysis>
Processed by service tier: <flex-or-default>

O fallback para o Standard altera as características de preço e desempenho da solicitação. Use esse padrão somente quando a carga de trabalho puder aceitar preços Padrão.

Uma resposta HTTP 429 pode indicar uma capacidade Flex indisponível ou um limite de cota. Como o processamento Flex e Standard compartilham a cota, a solicitação Standard também pode falhar quando a cota causou a resposta original. Aplique limites de novas tentativas e trate um segundo RateLimitError em seu aplicativo. Quando o serviço retorna o identificador de erro específico do Flex, use-o para limitar o recurso alternativo às respostas relacionadas à capacidade.

Para cargas de trabalho que priorizam o menor custo, tente novamente o processamento Flex com backoff exponencial antes de recorrer ao fallback. Para cargas de trabalho que priorizam o tempo de conclusão, reverta para Standard após o primeiro erro de capacidade Flex.

Referência:RateLimitError

Lidar com erros do Flex

Distinguir erros de solicitação permanente de erros transitórios de capacidade.

Status de HTTP Erro Cause Tratamento recomendado
400 invalid_request_error O modelo selecionado, a versão do modelo, o comprimento do contexto, a API ou a configuração de solicitação não dá suporte ao processamento Flex. Não tente novamente a mesma solicitação inalterada. Selecione um modelo compatível ou um tamanho de contexto compatível, ou tente novamente explicitamente com service_tier definido como default.
408 Tempo limite da solicitação A solicitação não é concluída dentro do tempo limite de serviço ou cliente configurado. As solicitações flex podem levar mais tempo do que as solicitações Standard. Use um tempo limite de cliente mais longo. Tente novamente com recuo exponencial limitado. Se o tempo de conclusão for mais importante do que o preço do Flex, tente novamente com o Standard.
429 Recurso indisponível ou taxa limitada A capacidade flex está temporariamente indisponível ou a solicitação excedeu um limite de taxa aplicável. A capacidade flex é preempível, portanto, a indisponibilidade temporária é mais provável durante o horário de pico. Se a solicitação exceder um limite de taxa, aumente o limite de taxa da implantação Global Standard atribuindo mais cota. Flex e Standard compartilham essa cota. Se a assinatura não tiver quota suficiente para uma carga de trabalho de alta taxa de transferência, solicite um aumento de quota. Se a capacidade Flex estiver temporariamente indisponível, tente novamente com recuo exponencial e jitter, distribua cargas de trabalho tolerantes a atraso para períodos fora de pico, como noites de dias úteis ou fins de semana, ou tente novamente com service_tier configurado como default. Respeite Retry-After quando estiver presente.
500, 502, 503 ou 504 Erro de serviço transitório Um problema temporário de serviço ou gateway impediu a conclusão. Tente novamente com recuo exponencial limitado. Não envie um número ilimitado de repetições.
401 ou 403 Erro de autenticação ou autorização A credencial está ausente, inválida, expirou ou não tem acesso ao recurso. Corrija a credencial ou a atribuição de função. Não tente novamente até que a configuração seja alterada.
404 Implantação não encontrada O nome da implantação ou o ponto de extremidade está incorreto. Verifique se model corresponde ao nome da implantação e se a URL base aponta para o recurso do Azure OpenAI correto.

Note

Uma solicitação Flex rejeitada porque a capacidade de processamento não está disponível não é cobrada. No entanto, você pode perceber uma menor capacidade disponível do limite de taxa, porque as solicitações Flex e Standard compartilham a cota atribuída à implantação Global Standard.

Use backoff exponencial com jitter aleatório para respostas HTTP 408, 429 e 5xx transitórias. Defina uma contagem máxima de repetição e um atraso máximo para que uma solicitação com falha não permaneça em um loop de repetição não associado.

  1. Honra Retry-After quando a resposta a inclui.
  2. Caso contrário, aguarde um atraso exponencialmente crescente com jitter aleatório.
  3. Use o Retry Flex apenas enquanto o atraso for aceitável para a carga de trabalho.
  4. Volte para Standard se o orçamento de repetição estiver esgotado e o aplicativo permitir o custo Padrão mais alto.
  5. Retorne uma falha explícita se nem o processamento Flex atrasado nem o fallback Standard atenderem aos requisitos da aplicação.

Não tente repetidamente a mesma solicitação Flex sem suporte. Uma repetição só é bem-sucedida depois que você altera o modelo, o tamanho do contexto, a configuração da API ou a camada de serviço.

Monitorar o uso e os custos

Use as métricas do Azure Monitor para comparar o tráfego do Flex e do Standard na mesma implantação. Monitore o volume de solicitação, o consumo de token, a latência, as falhas e a taxa na qual as solicitações flex retornam ao Standard em seu aplicativo.

  1. Entre no portal do Azure.

  2. Vá para o recurso Azure OpenAI e selecione Métricas.

  3. Adicione a métrica Azure OpenAI Requests. Você também pode adicionar Latência do Azure OpenAI, Uso do Azure OpenAI e métricas de erro.

  4. Adicione um filtro em que ServiceTierRequest seja flexigual a .

    Captura de tela das métricas do Azure Monitor filtradas para exibir solicitações Flex usando a propriedade ServiceTierRequest.

  5. Crie alertas para respostas HTTP 429 persistentes, aumento nas taxas de erro e latência que exceda o orçamento de novas tentativas da sua carga de trabalho.

Acompanhe os seguintes sinais para cada carga de trabalho:

Sinal Por que isso importa
Número de solicitações Flex Exibe a adoção e o tráfego encaminhado para um processamento de menor custo.
Taxa de solicitações Flex bem-sucedidas Mostra com que frequência a capacidade Flex aceita e completa solicitações.
Taxa HTTP 429 Mostra os períodos em que a capacidade flex ou a cota de implantação são restritas.
Contagem e taxa padrão de fallback Mostra o benefício de confiabilidade e o custo adicionado do fallback controlado pelo aplicativo.
Tokens de entrada, tokens de entrada em cache e tokens de saída Oferece suporte à atribuição de custos e verifica o efeito do cache de prompts.
Latência de ponta a ponta Ajuda a determinar se uma carga de trabalho permanece adequada para Flex.
Contagem de HTTP 400 invalid_request_error Identifica modelos sem suporte, versões de modelo, comprimentos de contexto ou configurações de solicitação.

Para obter mais informações sobre como monitorar implantações de modelo, consulte Monitor Azure OpenAI.

O uso flex é cobrado em medidores Flex dedicados para que você possa diferenciá-lo do uso Padrão. Use a Análise de Custo para examinar os custos do token Flex por recurso e implantação.

  1. No portal do Azure, abra Gerenciamento de Custos + Cobrança>.
  2. Filtre pela assinatura, grupo de recursos ou recurso do Azure OpenAI que contém a implantação.
  3. Agrupar ou filtrar por Medidor para separar o uso Flex do uso Padrão.
  4. Adicione um filtro de cobrança por tag, selecione implantação e escolha o nome da implantação.
  5. Compare a economia de custos do Flex com os custos de contingência do Standard e os requisitos de finalização da carga de trabalho.

Os tokens flex de entrada e saída custam 50% dos preços padrão correspondentes. O armazenamento em cache de prompts pode reduzir ainda mais o custo dos tokens de entrada elegíveis armazenados em cache. Uma solicitação Flex rejeitada porque a capacidade de processamento não está disponível não é cobrada.

Aplicar práticas recomendadas de produção

  • Defina um tempo limite maior. As solicitações flex podem levar mais tempo do que as solicitações Standard. Comece com um timeout do cliente adequado à sua carga de trabalho, como 15 minutos, e teste com prompts representativos.
  • Use repetições com limite. Limite as tentativas de repetição e o tempo total decorrido.
  • Adicione tremulação. Aleatorize os atrasos de backoff para evitar picos de novas tentativas sincronizadas.
  • Torne o fallback explícito. Defina service_tier como default em vez de depender do comportamento implícito.
  • Rastreie a camada processada. Registre o valor da resposta service_tier com latência, status, uso de token e dados de custo.
  • Separar o tráfego interativo e em segundo plano. Mantenha as solicitações destinadas ao usuário em Standard, Priority ou taxa de transferência provisionada, a menos que a latência variável do Flex seja aceitável.
  • Controle o trabalho duplicado. Garanta que o aplicativo não envie a mesma tarefa lógica mais de uma vez após expirações de tempo no lado do cliente.
  • Teste os caminhos de falha. Valide o tratamento para respostas HTTP 400, 408, 429 e transitórias 5xx antes de usar o processamento Flex em fluxos de trabalho de produção.
  • Examine o suporte ao modelo antes das atualizações. Um modelo de substituição ou versão de modelo não herda automaticamente o suporte ao Flex.

Sobrescrever o nível de serviço usando um cabeçalho de solicitação

Use o cabeçalho da solicitação x-ms-service-tier quando um gateway, proxy ou uma camada de roteamento centralizada precisar selecionar a camada de serviço sem inspecionar ou modificar o corpo da solicitação. O cabeçalho também pode reduzir as alterações de migração para aplicativos que já selecionam uma camada de serviço OpenAI por meio de um cabeçalho de solicitação.

O cabeçalho aceita os seguintes valores:

Valor do cabeçalho Camada de processamento solicitada
flex Flex
priority Prioridade
default Standard
auto Prioridade

Quando o cabeçalho está presente e é válido, ele tem precedência sobre o service_tier valor no corpo da solicitação.

Entrada de cabeçalho Entrada no corpo da solicitação Comportamento e saída
Cabeçalho omitido Valor válido service_tier O corpo da solicitação seleciona o nível. Uma resposta bem-sucedida identifica a camada processada em service_tier.
Valor de cabeçalho válido Qualquer valor ou não especificado O cabeçalho seleciona a camada solicitada. Uma resposta bem-sucedida identifica a camada processada em service_tier.
Valor de cabeçalho sem suporte Qualquer valor ou não especificado A solicitação retorna HTTP 400. O serviço não utiliza o valor do corpo da requisição como alternativa.

Este exemplo solicita o processamento Flex por meio do cabeçalho. O cabeçalho substitui o valor default no corpo da solicitação:

curl -X POST https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -H "x-ms-service-tier: flex" \
  -d '{
    "model": "YOUR-GPT-5.6-SOL-DEPLOYMENT-NAME",
    "input": "Analyze these records and summarize the recurring themes.",
    "service_tier": "default"
  }'
{
    "service_tier": "flex",
    "status": "completed",
    "output": [<response-output>]
}

O cabeçalho de sobreposição não fornece fallback automático. Um valor de cabeçalho inválido ou uma camada que a implantação selecionada não dá suporte retorna HTTP 400.