Developer guide

Autenticar com uma chave de API

O cabeçalho que contém a chave de API e a base URL a ser configurada no SDK

O gateway CLEVI autentica as rotas compatíveis com OpenAI e as rotas compatíveis com Anthropic usando uma única chave de API.
No cliente, há dois valores a serem configurados: o cabeçalho de autenticação que contém a chave e a base URL do SDK. Os formatos de cabeçalho aceitos e a base URL variam conforme a especificação.
Após concluir a configuração, consulte a lista de modelos para verificar imediatamente se a autenticação foi realizada.
Se a autenticação falhar, será retornado 401. Se a autenticação for bem-sucedida, mas os requisitos de permissão ou limite não forem atendidos, será retornado 403.

Emita a chave de API na tela de chaves de API do console. Nessa mesma tela, você pode gerenciar a revogação da chave e o escopo de uso.

Cabeçalho de autenticação

Ambas as especificações incluem a chave de API em um único cabeçalho da solicitação. Use um dos cabeçalhos, X-API-Key ou Authorization; o formato aceito varia conforme a especificação.

CabeçalhoCompatível com OpenAICompatível com Anthropic
X-API-Key: <키>AceitoAceito
Authorization: Bearer <키>AceitoAceito
Authorization: <키> (sem Bearer)RejeitadoAceito

Ao usar o cabeçalho Authorization na rota compatível com OpenAI, é necessário o prefixo Bearer. Se você enviar apenas a chave, sem o prefixo, o gateway rejeitará a solicitação.

Os nomes dos cabeçalhos não diferenciam maiúsculas de minúsculas, portanto o cabeçalho x-api-key enviado pelo SDK da Anthropic também funciona normalmente. Se ambos os cabeçalhos forem especificados, o valor de X-API-Key terá prioridade.

base URL

Os SDKs usados anteriormente podem continuar sendo utilizados simplesmente alterando a base URL para um dos endereços abaixo. Os dois endereços diferem quanto à inclusão de /v1; especifique exatamente o endereço correspondente à especificação.

Especificaçãobase URLRegra de caminho
Compatível com OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Inclua /v1 na base URL.
Compatível com Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicA Anthropic SDK adiciona /v1 diretamente ao caminho da solicitação, portanto a URL termina antes de /v1.

Verificar a autenticação

Depois de configurar a chave e a URL base, você pode verificar se a autenticação está funcionando consultando a lista de modelos. Os exemplos abaixo executam a mesma consulta com curl, OpenAI SDK e Anthropic SDK. Substitua sk-... pela chave emitida na tela da chave de API.

Ao fazer a consulta com curl, especifique o caminho completo até /v1/models em ambos os padrões. O primeiro comando usa o cabeçalho X-API-Key no caminho compatível com OpenAI, e o segundo usa o cabeçalho Authorization no caminho compatível com Anthropic.

curl https://platform.clevi.net/api/v2/aiservice/openai/v1/models \
  -H "X-API-Key: sk-..."

curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/models \
  -H "Authorization: Bearer sk-..." \
  -H "anthropic-version: 2023-06-01"

No OpenAI SDK, especifique um endereço que inclua /v1 em base_url.

from openai import OpenAI

client = OpenAI(
    api_key="sk-...",
    base_url="https://platform.clevi.net/api/v2/aiservice/openai/v1",
)

for model in client.models.list():
    print(model.id)

No Anthropic SDK, especifique uma base_url que termine antes de /v1.
Para a autenticação, use o cabeçalho x-api-key enviado pelo SDK sem alterações.

from anthropic import Anthropic

client = Anthropic(
    api_key="sk-...",
    base_url="https://platform.clevi.net/api/v2/aiservice/anthropic",
)

for model in client.models.list(limit=20).data:
    print(model.id)

Se a resposta de qualquer exemplo for 200, a autenticação foi bem-sucedida, e data da resposta conterá a lista de modelos que podem ser chamados com essa chave. Se receber 401, verifique a causa seguindo a ordem da próxima seção.

Falha na autenticação

Se você enviar uma chave ausente, expirada ou revogada, será retornado 401. Ao fazer uma chamada sem chave pelo caminho compatível com OpenAI, o corpo abaixo será retornado; no caminho compatível com Anthropic, error.type será authentication_error.

{
  "error": {
    "message": "API key is required.",
    "type": "invalid_request_error"
  }
}

Se receber 401, verifique os itens na ordem a seguir.

  1. Verifique o status da chave na tela da chave de API. Se ela estiver expirada ou revogada, emita uma nova.
  2. Verifique se o nome do cabeçalho é X-API-Key ou Authorization.
  3. Se estiver usando o cabeçalho Authorization no caminho compatível com OpenAI, verifique se ele contém o prefixo Bearer.

Depois de fazer as correções, execute novamente a consulta da lista de modelos na seção de verificação da autenticação e confirme se a resposta é 200.

Cabeçalhos usados em conjunto

Todos os cabeçalhos a seguir são opcionais. Recomendamos especificar X-Request-Id para facilitar o rastreamento de problemas.

CabeçalhoFinalidadeSe omitido
X-Request-IdIdentificador para rastreamento da solicitação. A rota compatível com Anthropic retorna o mesmo valor no cabeçalho request-id da resposta.Emitido pelo servidor.
X-Region-CodeEspecifica a região de chamada.É global.
X-Product-Sku (também pode ser especificado com o parâmetro de consulta product_sku)Especifica diretamente o Product SKU usado para cobrança. O cabeçalho tem prioridade sobre o parâmetro de consulta e é usado principalmente nas rotas de voz e áudio.Não pode ser omitido nas rotas de voz. audio/speech e audio/transcriptions selecionam o Product por meio de model no corpo da solicitação.
anthropic-version / anthropic-betaÉ encaminhado como está nas rotas compatíveis com Anthropic.A versão é 2023-06-01.

Se os erros 5xx se repetirem, informe-nos pela Central de Ajuda e pelo formulário de contato, incluindo o X-Request-Id. Se você tiver especificado o valor diretamente, será possível compará-lo imediatamente com os registros do cliente.

Idioma e região

Os idiomas traduzidos automaticamente são traduzidos por clevi/cip-5.5-im e identificados como tal. Isso se aplica aos idiomas com um pacote de site publicado.

137 idiomas

Recomendado

1

Ásia Oriental

7

Sudeste Asiático

11

Ásia Meridional

18

Ásia Central

5

Oriente Médio e Cáucaso

10

Europa Ocidental e Europa Meridional

17

Reino Unido e Irlanda

4

Europa Setentrional

10

Europa Central e Bálcãs

14

Europa Oriental

5

África Oriental

8

África Ocidental e África Central

9

África Meridional

8

Américas

5

Oceania

5