Developer guide

S’autentificar amb una clau API

L’entèst que conté la clau API i l’URL base que cal configurar a l’SDK

La passerèl·la CLEVI autentifica les rutes compatibles amb OpenAI i les rutes compatibles amb Anthropic amb una sola clau API.
Al client, cal configurar dues coses: l’entèst d’autenticació que conté la clau i l’URL base de l’SDK. El format d’entèst admès i l’URL base varien segons l’especificació.
Després de completar la configuració, podeu consultar la llista de models per comprovar immediatament si l’autenticació funciona.
Si l’autenticació falla, es retorna 401; si l’autenticació és correcta però no es compleixen les condicions de permisos o de límit, es retorna 403.

Emetez la clau API des de la pantalla de claus API de la consola. Des de la mateixa pantalla, podeu gestionar-ne la revocació i l’àmbit d’ús.

Entèst d’autenticació

Les dues especificacions inclouen la clau API en un únic entèst de la requèsta. Podeu utilitzar l’entèst X-API-Key o l’entèst Authorization; el format admès depèn de l’especificació.

EntèstCompatible amb OpenAICompatible amb Anthropic
X-API-Key: <clau>AdmesaAdmesa
Authorization: Bearer <clau>AdmesaAdmesa
Authorization: <clau> (sens Bearer)RebutjadaAdmesa

A la ruta compatible amb OpenAI, cal el prefix Bearer quan s’utilitza l’entèst Authorization. Si només envieu la clau sense el prefix, la passerèl·la rebutjarà la requèsta.

Els noms dels entèsts no distingeixen entre majusculas e minusculas, de manera que l’entèst x-api-key enviat per l’SDK d’Anthropic també funciona tal qual. Si especifiqueu tots dos entèsts, la valor de X-API-Key té prioritat.

URL base

Los SDK que utilizàvetz fins ara pòdon contunhar d’èsser utilizats en cambiant sonque l’URL base per l’adreça çai-jós. Los dos adreças diferisson per la preséncia de /v1, doncas especificatz dirèctament l’adreça que correspond a l’especificacion.

EspecificacionURL baseRegla de camin
Compatible amb OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Incluètz /v1 dins l’URL base.
Compatible amb Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicL’SDK d’Anthropic ajusta dirèctament /v1 al camin de la requèsta, doncas l’URL s’acaba abans de /v1.

Verificacion de l’autentificacion

Après avoir configurat la clau e l’URL de basa, consultatz la lista dels modèls per verificar l’autentificacion. L’exemple çai-jos executa la meteissa consulta amb curl, OpenAI SDK e Anthropic SDK. Remplaçatz sk-... per la clau generada dins l’ecran de la clau API.

Per consultar amb curl, indicatz lo camin complet fins a /v1/models dins los dos formats. La primièra comanda utiliza l’en-tèsta X-API-Key per lo camin compatible amb OpenAI, e la segonda utiliza l’en-tèsta Authorization per lo camin compatible amb 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"

Amb OpenAI SDK, indicatz una adreça que inclutz /v1 dins 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)

Amb Anthropic SDK, indicatz una adreça que s’acaba abans de /v1 dins base_url.
Per l’autentificacion, utilizatz l’en-tèsta x-api-key enviat per l’SDK tal coma 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)

Dins totes los exemples, una responsa 200 indica que l’autentificacion capitèt, e data dins la responsa conten la lista dels modèls que pòdon èsser apelats amb aquesta clau. Se recepètz 401, verificatz la causa dins l’òrdre indicat a la seccion seguenta.

Fracàs de l’autentificacion

Se mandatz una clau absenta, expirada o revocada, una responsa 401 es retornada. Se fasètz una crida sens clau pel camin compatible amb OpenAI, lo còs çai-jos es retornat; pel camin compatible amb Anthropic, error.type es authentication_error.

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

Se recepètz 401, verificatz los elements dins l’òrdre seguent.

  1. Verificatz l’estat de la clau dins l’ecran de la clau API. Se la clau es expirada o revocada, generatz-ne una novèla.
  2. Verificatz que lo nom de l’en-tèsta es X-API-Key o Authorization.
  3. Se utilizatz l’en-tèsta Authorization pel camin compatible amb OpenAI, verificatz qu’il a lo prefix Bearer.

Aprèp la correccion, tornatz executar la consulta de la lista dels modèls dins la seccion de verificació de l’autentificacion e confirmatz que recepètz una responsa 200.

En-tèstas utilizadas en comun

Totas las en-tèstas seguentas son opcionalas. Recomandam de definir X-Request-Id per facilitar lo seguiment dels problèmas.

En-tèstaUtilizacionSe l’omitètz
X-Request-IdIdentificador per seguir la requèsta. Lo camin compatible amb Anthropic retorna la meteissa valor dins l’entèsta request-id de la responsa.Emés pel servidor.
X-Region-CodeEspecifica la region de l’apèl.Es global.
X-Product-Sku (tamben especificable amb la requèsta product_sku)Especifica dirèctament lo Product SKU d’utilizar per la facturacion. L’entèsta a prioritat sus la requèsta e s’utiliza principalament pels camins de votz.Pòt pas èsser omés dins los camins de votz. audio/speech e audio/transcriptions seleccionan lo Product amb lo model del còs de la requèsta.
anthropic-version / anthropic-betaEs mandat tal coma es dins lo camin compatible amb Anthropic.La version es 2023-06-01.

Se las errors 5xx se repetisson, informatz-ne l’ajuda e lo supòrt en indicant X-Request-Id. Se la valor es estada especificada dirèctament, podètz la comparar dirèctament amb los enregistraments del client.

Lenga e region

Las lengas tradusidas automaticament son tradusidas per clevi/cip-5.5-im e marcadas coma talas. Aquò s'aplica a las lengas amb un paquet de site publicat.

137 lengas

Recomandat

1

Asia Orientala

7

Asia del Sud-Èst

11

Asia del Sud

18

Asia Centrala

5

Orient Mejan e Caucàs

10

Euròpa Occidentala e Meridionala

17

Bretanha e Irlanda

4

Euròpa del Nòrd e Baltic

10

Euròpa Centrala e Balcans

14

Euròpa Orientala

5

Àfrica Orientala e la Bana

8

Àfrica Occidentala e Centrala

9

Àfrica Australa

8

Las Americas

5

Lo Pacific

5