Developer guide

Autentificarea cu cheia API

Antetul în care se introduce cheia API și base URL-ul care se configurează în SDK

Gateway-ul CLEVI autentifică rutele compatibile cu OpenAI și rutele compatibile cu Anthropic folosind o singură cheie API.
În client trebuie configurate două valori: antetul de autentificare care conține cheia și base URL-ul SDK-ului, iar formatele de antet și base URL acceptate diferă în funcție de specificație.
După finalizarea configurării, puteți verifica imediat autentificarea prin solicitarea listei de modele.
Dacă autentificarea eșuează, este returnat 401; dacă, după autentificare, nu sunt îndeplinite condițiile de autorizare sau de limită, este returnat 403.

Generați cheia API din ecranul pentru chei API din consolă. Din același ecran puteți gestiona revocarea cheii și domeniul de utilizare al acesteia.

Antetul de autentificare

Ambele specificații includ cheia API într-un singur antet al solicitării. Se utilizează unul dintre antetele X-API-Key și Authorization, iar formatul acceptat diferă în funcție de specificație.

AntetCompatibil cu OpenAICompatibil cu Anthropic
X-API-Key: <키>AcceptatAcceptat
Authorization: Bearer <키>AcceptatAcceptat
Authorization: <키> (fără Bearer)RespinsAcceptat

Pe ruta compatibilă cu OpenAI, este necesar prefixul Bearer atunci când se utilizează antetul Authorization. Dacă trimiteți doar cheia fără prefix, gateway-ul va respinge solicitarea.

Numele antetelor nu țin cont de diferența dintre literele majuscule și minuscule, astfel încât și antetul x-api-key trimis de Anthropic SDK funcționează neschimbat. Dacă sunt specificate ambele antete, valoarea X-API-Key are prioritate.

base URL

SDK-urile utilizate anterior pot fi folosite în continuare prin schimbarea base URL-ului cu adresa de mai jos. Cele două adrese diferă prin includerea sau neincluderea lui /v1, așadar specificați exact adresa corespunzătoare specificației.

Specificațiebase URLRegula rutei
Compatibil cu OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Includeți /v1 în base URL.
Compatibil cu Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicAnthropic SDK adaugă direct /v1 la ruta solicitării, astfel încât URL-ul se termină înainte de /v1.

Verificarea autentificării

După configurarea cheii și a base URL, puteți verifica dacă autentificarea a reușit consultând lista de modele. Exemplele de mai jos execută aceeași interogare cu curl, OpenAI SDK și Anthropic SDK. În locul lui sk-... introduceți cheia emisă în ecranul cheii API.

La consultarea cu curl, specificați calea completă până la /v1/models pentru ambele specificații. Prima comandă folosește antetul X-API-Key pentru calea compatibilă cu OpenAI, iar a doua comandă folosește antetul Authorization pentru calea compatibilă cu 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"

Pentru OpenAI SDK, specificați în base_url adresa care include /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)

Pentru Anthropic SDK, specificați în base_url adresa care se termină înainte de /v1.
Pentru autentificare, utilizați neschimbat antetul x-api-key trimis de 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)

Dacă răspunsul este 200 în oricare dintre exemple, autentificarea a reușit, iar în data din răspuns se află lista modelelor care pot fi apelate cu această cheie. Dacă primiți 401, verificați cauza în ordinea din secțiunea următoare.

Autentificare eșuată

Dacă trimiteți o cheie inexistentă, expirată sau revocată, se returnează 401. Dacă apelați calea compatibilă cu OpenAI fără cheie, se returnează corpul de mai jos, iar pentru calea compatibilă cu Anthropic, error.type este authentication_error.

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

Dacă primiți 401, verificați următoarele în ordine.

  1. Verificați starea cheii în ecranul cheii API. Dacă a expirat sau a fost revocată, emiteți una nouă.
  2. Verificați dacă numele antetului este X-API-Key sau Authorization.
  3. Dacă utilizați antetul Authorization pe calea compatibilă cu OpenAI, verificați dacă are prefixul Bearer.

După efectuarea modificărilor, executați din nou consultarea listei de modele din secțiunea Verificarea autentificării și confirmați că primiți 200.

Antete utilizate împreună

Toate antetele următoare sunt opționale. Pentru a facilita urmărirea problemelor, vă recomandăm să setați X-Request-Id.

AntetScopDacă este omis
X-Request-IdIdentificator pentru urmărirea solicitării. Pe ruta compatibilă cu Anthropic, aceeași valoare este returnată în antetul request-id al răspunsului.Este emis de server.
X-Region-CodeSpecifică regiunea în care se efectuează apelul.Este global.
X-Product-Sku (poate fi specificat și prin parametrul de interogare product_sku)Specifică direct Product SKU utilizat pentru facturare. Antetul are prioritate față de parametrul de interogare și este utilizat în principal pe rutele de voce și voice.Nu poate fi omis pe rutele de voce. audio/speech și audio/transcriptions selectează Product prin model din corpul solicitării.
anthropic-version / anthropic-betaEste transmis neschimbat pe ruta compatibilă cu Anthropic.Versiunea este 2023-06-01.

Dacă erorile 5xx se repetă, vă rugăm să ne informați prin centrul de ajutor și formularul de contact, împreună cu X-Request-Id. Dacă valoarea a fost specificată direct, aceasta poate fi comparată imediat cu înregistrările clientului.

Limbă și regiune

Limbile traduse automat sunt traduse de clevi/cip-5.5-im și marcate ca atare. Acest lucru se aplică limbilor cu un pachet de site publicat.

137 limbi

Recomandat

1

Asia Orientală

7

Asia de Sud-Est

11

Asia Meridională

18

Asia Centrală

5

Orientul Mijlociu și Caucaz

10

Europa Occidentală și Europa Meridională

17

Regatul Unit și Irlanda

4

Europa Septentrională

10

Europa Centrală și Balcani

14

Europa Orientală

5

Africa Orientală

8

Africa Occidentală și Africa Centrală

9

Africa Meridională

8

Americi

5

Oceania

5