Revendedores/Roteamento de fornecedores

Escolher fornecedores e sua ordem

Um mesmo modelo pode ser atendido por vários fornecedores; por exemplo, deepseek-v4.1-flash pode ser atendido por deepseek, opencode ou volcengine. Por padrão, a plataforma escolhe um fornecedor por prioridade e passa para o próximo quando um fornecedor está indisponível. O preço depende apenas do modelo, nunca de qual fornecedor atende a requisição. Para controlar isso você mesmo, adicione um objeto provider ao corpo da requisição.

Nesta páginaexpand_more

Campos de providerlink

only

Usa apenas os fornecedores listados, por exemplo {"only": ["deepseek"]}.

ignore

Nunca usa os fornecedores listados, por exemplo {"ignore": ["opencode"]}.

order

Tenta os fornecedores listados nesta ordem, passando para o próximo quando um fornecedor está indisponível. Fornecedores que você não lista continuam sendo usados no fim, como alternativa; para excluí-los, combine order com only ou ignore.

IDs de fornecedorlink

provider só faz diferença em modelos com mais de um fornecedor. Modelos fechados como Claude, GPT, Gemini e Grok são servidos apenas pelo fornecedor oficial e não precisam de preferência. Os IDs de fornecedor em uso hoje estão listados abaixo. Os fornecedores que servem um determinado modelo aparecem na linha Fornecedores da página de detalhes desse modelo (na ordem de prioridade padrão) e no campo providers de GET https://wokey.ai/api/models.

ID do fornecedorFornecedor
deepseekDeepSeek (oficial)
moonshotKimi (oficial, Moonshot AI)
zhipuGLM (oficial, Zhipu)
minimaxMiniMax (oficial)
volcengineVolcengine Ark: Doubao, além de alguns modelos DeepSeek, GLM, Kimi e MiniMax
opencodeOpenCode Go: Tencent Hy4, além de alguns modelos DeepSeek, GLM, Kimi e MiniMax
ollamaOllama Cloud: alguns modelos DeepSeek, GLM, Kimi e MiniMax

Exemploslink

cURL
curl https://api.wokey.ai/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [
      { "role": "user", "content": "Hello" }
    ],
    "provider": {
      "order": ["volcengine", "deepseek"],
      "ignore": ["opencode"]
    }
  }'

Os SDKs Python da OpenAI e da Anthropic rejeitam argumentos de nível superior desconhecidos, então passe provider em extra_body.

Python
from openai import OpenAI

client = OpenAI(base_url="https://api.wokey.ai/v1", api_key="YOUR_API_KEY")

response = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Hello"}],
    extra_body={"provider": {"only": ["deepseek"]}},
)
print(response.choices[0].message.content)

Observaçõeslink

  • /chat/completions, /responses e /messages aceitam o campo da mesma forma.
  • Um ID de fornecedor desconhecido retorna 400 invalid_request_error. Uma preferência que exclui todos os fornecedores do modelo retorna 404 no_eligible_provider.
  • provider apenas restringe a escolha. Ele vale junto com qualquer restrição de fornecedor definida na chave de API e não reativa um fornecedor que a chave exclui.
  • Para manter o cache do prompt, uma conversa que passou para outro fornecedor continua nele em vez de voltar ao primeiro fornecedor da ordem.
  • provider é uma diretiva de roteamento para a plataforma e nunca é repassado ao upstream.