ShvIA

Docs · Guias

Provedores e as suas próprias chaves

Os modelos vêm de dois lugares. O operador roda alguns nos próprios servidores, e esses não pedem nada de você. Os outros são servidos por provedores de nuvem, e para eles você traz a sua própria chave (BYOK): o contrato e a fatura ficam entre você e o provedor, e o ShvIA encaminha as suas chamadas.

Provedores#

Estes provedores estão disponíveis como são entregues. O operador pode desligar qualquer um deles, e alguns precisam de configuração do lado do operador, então a lista que você vê pode ser menor.

ProvedorCredencialdata_locality
Anthropica sua chavecloud_us
OpenAIa sua chavecloud_us
xAI (Grok)a sua chavecloud_us
Google Geminia sua chavecloud_us
Google Vertex AIuma chave de conta de serviçopor região: cloud_br por padrão
Amazon Bedrocka sua chavecloud_us, a menos que o operador tenha declarado outra localidade para ele
Groqa sua chavecloud_us
Together AIa sua chavecloud_us
Novita AIa sua chavecloud_us
OpenRoutera sua chavecloud_us
Kilo Gatewaya sua chavecloud_us
IBM watsonxa sua chavecloud_us
Mistral AIa sua chavecloud_eu
Z.ai (GLM)a sua chavecloud_cn
DeepSeeka sua chavecloud_cn
Moonshot Kimia sua chavecloud_cn
MiniMaxa sua chavecloud_cn
OpenCode (Zen e Go)a sua chave, ou um login de assinaturacloud_us
ChatGPT (Go e Plus)só um login de assinaturacloud_us

A última coluna é o data_locality que o ShvIA atribui aos modelos do provedor: a classe de nuvem em que eles rodam. Os servidores do próprio operador são on_prem. É um rótulo para você aplicar a sua própria política, não uma afirmação sobre onde o provedor processa os dados. Veja os seus dados.

Adicione a sua chave#

As chaves de provedor não podem ser gerenciadas com uma chave de API: use o app web. Abra a sua conta, vá às chaves de provedor e cole a chave de cada provedor. Uma requisição autenticada com uma chave de API que tente salvar ou remover uma chave de provedor é recusada com 403.

Quando você salva uma chave, o ShvIA pergunta ao provedor se ela funciona e informa o resultado: aceita, recusada, sem crédito, limite de requisições, ou provedor indisponível. A chave é mantida seja qual for o veredito, para que uma queda no provedor não seja lida como chave errada.

As suas chaves são criptografadas em repouso e nunca são devolvidas pela API. configured_providers em GET /api/auth/me lista os provedores para os quais você colou uma chave. Ele não lista aqueles que você alcança com um login de assinatura ou com uma chave que um administrador atribuiu a você.

Depois de adicionar uma chave, chame POST /api/v1/profiles/refresh para que a sua lista de modelos seja refeita a partir do provedor com a sua chave. Sem isso, a lista se atualiza sozinha a cada poucos minutos.

De onde uma credencial pode vir#

Para um provedor, vale a primeira destas que existir:

  1. uma chave que você colou;
  2. uma assinatura que você conectou;
  3. uma chave que um administrador atribuiu a você;
  4. uma chave que um administrador atribuiu ao seu grupo inteiro.

Uma chave atribuída por um administrador pode ser limitada a alguns modelos do provedor. Uma chave que você mesmo cola nunca é limitada assim, e tem prioridade sobre uma atribuída.

Logins de assinatura#

Dois provedores podem ser usados com uma assinatura em vez de uma chave por token: o ChatGPT (planos Go e Plus) e o OpenCode. Você os conecta no app com um login de dispositivo: o ShvIA mostra um endereço e um código, você abre o endereço num navegador e digita o código, e o app termina a conexão. O ShvIA guarda e renova os tokens para você. O provedor cobra a sua assinatura, então não há preço por token e o uso não mostra custo para esses modelos.

GET /api/auth/me/provider-connections lista as suas conexões e pode ser chamado com uma chave de API. Conectar e desconectar exigem uma sessão iniciada.

Modelos sem chave#

Um modelo de nuvem pode aparecer em GET /v1/models mesmo que você não tenha adicionado uma chave para o provedor dele. O que uma chamada a ele faz então é fácil de errar. O modelo não pode responder, e o gateway pode recorrer ao modelo padrão da sua conta: a chamada tem sucesso com 200, e model e X-Inference-Model continuam dando o nome do modelo que você pediu. É possível receber uma resposta de outro modelo, sem erro nenhum, sem perceber. Isso vale para os endpoints /v1, onde a resposta continua nomeando o modelo que você pediu, e para agent/chat, cuja resposta nomeia o modelo que respondeu. No stream do chat, a mesma chamada termina num evento error. Veja modelos.

GET /api/v1/profiles mostra só os modelos de nuvem para os quais você tem uma credencial, então use-o para ver quais modelos de nuvem você pode chamar. Ele não aplica a lista de modelos permitidos do seu grupo nem a sua cota, então um modelo listado ainda pode ser recusado com 403. Veja modelos.

Custo#

Nos modelos de nuvem, o provedor cobra a sua conta. O ShvIA registra os tokens e uma estimativa do custo a partir de uma tabela de preços, para você acompanhar o seu gasto em uso e custo: onde um provedor informa o custo real, ele é usado no lugar. O preço de um modelo está em price em GET /api/v1/profiles, em dólares americanos por milhão de tokens.