GET /v1/limits informa o panorama completo em uma única chamada.
Suas próprias chaves não têm limite de gastos
Não definimos cota de requisições nem limite mensal. Você não mantém saldo para ser debitado. Consulte preços e faturamento. Um limite se aplica. Sua organização executa um número fixo de flex races por vez. Ultrapassado esse número, executamos a requisição na camada padrão. Você perde o desconto, não a resposta. O relatório chama esse número deown_keys.flex_race_slots.
O que as Managed Keys podem esgotar
Uma revisão de risco pode pausar requisições gerenciadas além desses quatro. Ela retorna
account_under_review. Suas rotas de chave própria continuam funcionando.
Mais quatro limites cobrem todas as organizações. Três contam requisições por minuto de uma organização, de uma chave e de um endereço IP. O quarto conta tentativas de autenticação falhas de um endereço IP. Também recusamos um corpo de requisição com mais de 50.000.000 bytes como request_too_large.
O relatório nomeia cada limite por minuto com sua janela e seu escopo. Ele omite o número, porque a Cloudflare conta cada um em cada local onde opera e um único número não seria um orçamento contra o qual você poderia planejar. Em vez disso, aguarde pelos segundos em Retry-After.
Dois cabeçalhos de resposta informam seus gastos
Uma resposta de chaves próprias os carrega assim que suas rotas são resolvidas, e uma resposta gerenciada os carrega a partir da retenção de saldo. Três respostas não possuem nenhum dos cabeçalhos: uma que recusamos anteriormente, o catálogo de modelos e uma requisição gerenciada cujo saldo não pudemos ler. Omitimos os cabeçalhos em vez de tentar adivinhar.
Lemos ambos ao admitir esta requisição. O número cobre o que você tinha restante antes que esta requisição liquidasse seu próprio custo.
Um número negativo significa que recusamos toda requisição gerenciada. Adicionar dinheiro corrige um saldo negativo. Um saldo diário negativo se recupera na próxima meia-noite UTC ou com um limite elevado, nunca com uma recarga.
Leia esses cabeçalhos no tráfego que você já envia. Consultar o endpoint antes de cada requisição custa uma ida e volta e não informa mais do que o cabeçalho já fez.
O endpoint de limites
GET /v1/limits aceita sua chave FlexInference. Ele informa os limites sob os quais sua organização opera. Ele lê os registros que admitem suas requisições, então nunca reivindica espaço que recusaríamos. Nunca armazenamos a resposta em cache.
Os últimos três campos explicam por que seu número de concorrência e seu limite diário são lidos como são. Uma organização isenta não tem limite para explicar, então todos os três são lidos como
null.
Um saldo pausado informa a pausa em vez de um número. Nenhuma figura positiva pode então ser lida como permissão para enviar.
Esses números são válidos em as_of e não prometem nada sobre sua próxima requisição. Outra requisição os move, assim como uma liquidação, uma recarga ou um reembolso.
Uma chave ausente ou incorreta retorna 401 com invalid_api_key. Quando não conseguimos ler um desses registros, o endpoint retorna 503 com limits_unavailable. Ele recusa em vez de entregar um valor em cache, o que poderia reivindicar espaço que sua próxima requisição não obteria. As requisições continuam funcionando de qualquer forma.
Custo dentro de um stream
Uma resposta que você não transmitiu (stream) informa seu custo duas vezes, no cabeçalhox-flexinference-cost e no bloco usage.cost. Uma resposta transmitida não pode usar o cabeçalho, porque enviamos os cabeçalhos antes que a resposta exista e não sabemos o custo naquele momento.
Envie include_cost: true para mover o custo para dentro do stream.
usage.routing fica ao lado e nomeia a rota que executou a requisição.
/v1/chat/completions torna o próprio frame de uso opt-in na OpenAI. Envie "stream_options": {"include_usage": true} também. Sem isso, o custo não tem um frame para ser inserido.
Uma requisição gerenciada informa o que o provedor nos cobrou. Uma requisição de chaves próprias informa o preço de tabela do provedor na camada que a executou. Uma requisição que não podemos precificar não informa cost algum. Leia um bloco ausente como nada a relatar, não como zero.
Dois cabeçalhos de roteamento vêm em cada resposta de qualquer forma. Eles são x-flexinference-served-provider e x-flexinference-routing-reason. Um chamador de streaming que ignora include_cost ainda vê qual rota executou a requisição e por quê. Consulte lendo o resultado.
include_cost nunca chega ao provedor. Nós o removemos do corpo antes de encaminhar a requisição.