Developer guide

Autenticar-se amb una clau d’API

L’encapçalament que conté la clau d’API i la base URL que cal configurar a l’SDK

La passarel·la de CLEVI autentica les rutes compatibles amb OpenAI i les rutes compatibles amb Anthropic amb una única clau d’API.
Al client, cal configurar dos valors: l’encapçalament d’autenticació que conté la clau i la base URL de l’SDK. El format d’encapçalament i la base URL permesos varien segons l’especificació.
Després de completar la configuració, podeu comprovar immediatament si l’autenticació funciona consultant la llista de models.
Si l’autenticació falla, es retorna un 401; si l’autenticació té èxit però no es compleixen les condicions de permisos o de límit, es retorna un 403.

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

Encapçalament d’autenticació

Ambdues especificacions inclouen la clau d’API en un únic encapçalament de la sol·licitud. S’utilitza un dels encapçalaments X-API-Key o Authorization, i el format permès varia segons l’especificació.

EncapçalamentCompatible amb OpenAICompatible amb Anthropic
X-API-Key: <키>PermèsPermès
Authorization: Bearer <키>PermèsPermès
Authorization: <키> (sense Bearer)RebutjatPermès

Quan utilitzeu l’encapçalament Authorization en una ruta compatible amb OpenAI, cal el prefix Bearer. Si envieu només la clau sense el prefix, la passarel·la rebutjarà la sol·licitud.

Els noms dels encapçalaments no distingeixen entre majúscules i minúscules, de manera que l’encapçalament x-api-key que envia l’SDK d’Anthropic també funciona tal com està. Si especifiqueu ambdós encapçalaments, el valor de X-API-Key té prioritat.

base URL

Els SDK que ja utilitzeu continuaran funcionant si només canvieu la base URL per una de les adreces següents. Les dues adreces es diferencien perquè una inclou /v1 i l’altra no; especifiqueu directament l’adreça corresponent a l’especificació.

Especificacióbase URLRegla de la ruta
Compatible amb OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Incloeu /v1 a la base URL.
Compatible amb Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicAcaba abans de /v1, perquè l’SDK d’Anthropic afegeix directament /v1 a la ruta de la sol·licitud.

Comprovar l’autenticació

Després de configurar la clau i l’URL base, podeu comprovar l’autenticació consultant la llista de models. Els exemples següents executen la mateixa consulta amb curl, OpenAI SDK i Anthropic SDK. Substituïu sk-... per la clau emesa a la pantalla de claus d’API.

Quan feu la consulta amb curl, especifiqueu la ruta completa fins a /v1/models en ambdues especificacions. La primera ordre utilitza la capçalera X-API-Key per a la ruta compatible amb OpenAI, i la segona utilitza la capçalera Authorization per a la ruta 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"

A OpenAI SDK, especifiqueu a base_url l’adreça que inclou /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)

A Anthropic SDK, especifiqueu a base_url una adreça que acabi abans de /v1.
Per a l’autenticació, utilitzeu tal qual la capçalera x-api-key que envia l’SDK.

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)

Si la resposta de qualsevol exemple és 200, l’autenticació s’ha completat correctament i data de la resposta conté la llista de models que es poden invocar amb aquesta clau. Si és 401, comproveu la causa seguint l’ordre de la secció següent.

Error d’autenticació

Si envieu una clau que no existeix, ha caducat o ha estat revocada, es retorna 401. Si feu una crida sense clau a la ruta compatible amb OpenAI, es retorna el cos següent; a la ruta compatible amb Anthropic, error.type és authentication_error.

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

Si rebeu un 401, comproveu-ho en l’ordre següent.

  1. Comproveu l’estat de la clau a la pantalla de claus d’API. Si ha caducat o ha estat revocada, emet-ne una de nova.
  2. Comproveu que el nom de la capçalera sigui X-API-Key o Authorization.
  3. Si utilitzeu la capçalera Authorization a la ruta compatible amb OpenAI, comproveu que inclogui el prefix Bearer.

Després de fer les correccions, torneu a executar la consulta de la llista de models de la secció de comprovació de l’autenticació i confirmeu que rebeu un 200.

Capçaleres que s’utilitzen conjuntament

Totes les capçaleres següents són opcionals. Per facilitar el seguiment dels problemes, recomanem especificar X-Request-Id.

CapçaleraÚsSi s’omet
X-Request-IdÉs l’identificador per al seguiment de la sol·licitud. La ruta compatible amb Anthropic retorna el mateix valor a la capçalera request-id de la resposta.L’emet el servidor.
X-Region-CodeEspecifica la regió de la crida.És global.
X-Product-Sku (també es pot especificar amb la consulta product_sku)Especifica directament el Product SKU que s’utilitzarà per a la facturació. La capçalera té prioritat sobre la consulta i s’utilitza principalment en les rutes de veu.No es pot ometre en les rutes de veu. audio/speech i audio/transcriptions seleccionen el Product mitjançant model del cos de la sol·licitud.
anthropic-version / anthropic-betaEs transmeten tal qual a la ruta compatible amb Anthropic.La versió és 2023-06-01.

Si els 5xx es repeteixen, informeu-ne a l’ajuda i a contacte juntament amb X-Request-Id. Si heu especificat directament el valor, es pot contrastar immediatament amb els registres del client.

Llengua i regió

Les llengües traduïdes automàticament es tradueixen mitjançant clevi/cip-5.5-im i s’hi indiquen com a tals. Això s’aplica a les llengües amb un paquet del lloc publicat.

137 llengües

Recomanat

1

Àsia oriental

7

Àsia sud-oriental

11

Àsia meridional

18

Àsia central

5

Orient Mitjà i el Caucas

10

Europa occidental i Europa meridional

17

Regne Unit i Irlanda

4

Europa septentrional

10

Europa Central i els Balcans

14

Europa oriental

5

Àfrica oriental

8

Àfrica occidental i Àfrica central

9

Àfrica meridional

8

Amèrica

5

Oceania

5