Developer guide

Autenticação com chave de API

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

O gateway da CLEVI autentica as rotas compatíveis com OpenAI e 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. O formato de cabeçalho permitido e a base URL diferem 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 aprovada, mas as condições de permissão ou limite não forem atendidas, 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

Em ambas as especificações, a chave de API é incluída em um único cabeçalho da solicitação. Use o cabeçalho X-API-Key ou Authorization; o formato permitido 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 em uma rota compatível com OpenAI, o prefixo Bearer é obrigatório. 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 que você já usava continuarão funcionando se você alterar apenas a base URL para um dos endereços abaixo. Como 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/anthropicComo o SDK da Anthropic adiciona /v1 diretamente ao caminho da solicitação, a base URL termina antes de /v1.

Verificação da autenticação

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

Ao consultar com curl, especifique o caminho completo até /v1/models em ambos os formatos. 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 no base_url o endereço que inclui /v1.

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 no base_url um endereço 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 for 200 em qualquer exemplo, a autenticação foi bem-sucedida, e o 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 no 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 na seguinte ordem.

  1. Verifique o status da chave na tela de chaves de API. Se a chave 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 da chamada.É global.
X-Product-Sku (também pode ser especificado como product_sku na consulta)Especifica diretamente o Product SKU a ser usado para cobrança. O cabeçalho tem prioridade sobre a consulta e é usado principalmente nas rotas de voz e voice.Não pode ser omitido nas rotas de voz. audio/speech e audio/transcriptions selecionam o Product usando model no corpo da solicitação.
anthropic-version / anthropic-betaÉ encaminhado sem alterações nas rotas compatíveis com Anthropic.A versão é 2023-06-01.

Se os erros 5xx se repetirem, informe-nos pela ajuda e pelo contato, juntamente com o X-Request-Id. Se o valor tiver sido especificado diretamente, será possível compará-lo imediatamente com os registros do cliente.

Yezh ha rannvro

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

137 yezh

Erbedet

1

Azia ar Reter

7

Azia ar Gevred

11

Azia ar Su

18

Azia ar Cʼhreiz

5

Reter-Kreiz ha Kaokaz

10

Europa ar Cʼhornôg ha Europa ar Su

17

Rouantelezh-Unanet ha Iwerzhon

4

Europa an Norzh

10

Kreiz-Europa hag ar Balkanoù

14

Europa ar Reter

5

Afrika ar Reter

8

Afrika ar Cʼhornôg ha Afrika ar Cʼhreiz

9

Afrika ar Su

8

Amerikaoù

5

Oseania

5