Developer guide

Autentisering med API-nøkkel

Headeren som inneholder API-nøkkelen, og base URL-en som skal angis i SDK-en

CLEVI-gatewayen autentiserer OpenAI-kompatible og Anthropic-kompatible endepunkter med én API-nøkkel.
Det er to verdier som skal angis på klientsiden: autentiseringsheaderen som inneholder nøkkelen, og SDK-ens base URL. Tillatte headere og base URL-er varierer imidlertid mellom spesifikasjonene.
Når konfigurasjonen er fullført, kan du kontrollere autentiseringen umiddelbart ved å hente modellisten.
Hvis autentiseringen mislykkes, returneres 401. Hvis autentiseringen er godkjent, men kravene til tillatelser eller grenser ikke er oppfylt, returneres 403.

Utsted API-nøkler på API-nøkkelsiden i konsollen. På samme side kan du administrere tilbakekalling av nøkler og bruksomfang.

Autentiseringsheader

Begge spesifikasjonene legger API-nøkkelen i én forespørselheader. Bruk enten X-API-Key-headeren eller Authorization-headeren. Det tillatte formatet varierer imidlertid mellom spesifikasjonene.

HeaderOpenAI-kompatibelAnthropic-kompatibel
X-API-Key: <키>TillattTillatt
Authorization: Bearer <키>TillattTillatt
Authorization: <키> (uten Bearer)AvvistTillatt

Når du bruker Authorization-headeren med den OpenAI-kompatible banen, kreves Bearer-prefikset. Hvis du bare sender nøkkelen uten prefikset, avviser gatewayen forespørselen.

Headernavn skiller ikke mellom store og små bokstaver, så x-api-key-headeren som sendes av Anthropic SDK fungerer også uendret. Hvis begge headerne angis, prioriteres X-API-Key-verdien.

base URL

SDK-er du allerede bruker, kan fortsatt brukes ved å endre bare base URL-en til adressen nedenfor. De to adressene skiller seg fra hverandre ved om de inkluderer /v1, så angi adressen som tilsvarer spesifikasjonen, uendret.

Spesifikasjonbase URLRegel for bane
OpenAI-kompatibelhttps://platform.clevi.net/api/v2/aiservice/openai/v1Inkluder /v1 i base URL-en.
Anthropic-kompatibelhttps://platform.clevi.net/api/v2/aiservice/anthropicAnthropic SDK legger selv til /v1 i forespørselsbanen, så base URL-en avsluttes før /v1.

Kontrollere autentisering

Når du har angitt nøkkelen og base URL, kan du bekrefte autentiseringen ved å hente modellisten. Eksemplene nedenfor utfører samme forespørsel med curl, OpenAI SDK og Anthropic SDK. Sett inn nøkkelen du har utstedt på API-nøkkelsiden i stedet for sk-....

Når du henter listen med curl, angir du hele banen til /v1/models for begge spesifikasjonene. Den første kommandoen bruker X-API-Key-headeren for den OpenAI-kompatible banen, og den andre kommandoen bruker Authorization-headeren for den Anthropic-kompatible banen.

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"

For OpenAI SDK angir du en adresse som inkluderer /v1 i 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)

For Anthropic SDK angir du en adresse i base_url som avsluttes før /v1.
For autentisering bruker du x-api-key-headeren som SDK-en sender, uendret.

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)

Hvis svaret er 200 i et av eksemplene, var autentiseringen vellykket, og data i svaret inneholder listen over modeller som kan kalles med denne nøkkelen. Hvis svaret er 401, kontrollerer du årsaken i rekkefølgen i neste avsnitt.

Autentiseringsfeil

Hvis du sender en manglende, utløpt eller tilbakekalt nøkkel, returneres 401. Hvis du kaller den OpenAI-kompatible banen uten nøkkel, returneres brødteksten nedenfor, mens error.type er authentication_error for den Anthropic-kompatible banen.

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

Hvis du får 401, kontrollerer du følgende i denne rekkefølgen.

  1. Kontroller nøkkelstatusen på API-nøkkelsiden. Hvis nøkkelen er utløpt eller tilbakekalt, utsteder du en ny.
  2. Kontroller om headernavnet er X-API-Key eller Authorization.
  3. Hvis du bruker Authorization-headeren på den OpenAI-kompatible banen, kontrollerer du om den har prefikset Bearer.

Kjør modellisteforespørselen i avsnittet om kontroll av autentisering på nytt etter endringene, og kontroller at du får 200.

Felles headere

Alle de følgende headerne er valgfrie. Vi anbefaler at du angir X-Request-Id for å kunne spore problemer.

HeaderBruksområdeHvis den utelates
X-Request-IdIdentifikator for sporing av forespørselen. Anthropic-kompatible ruter returnerer samme verdi i responsens request-id-header.Utstedes av serveren.
X-Region-CodeAngir regionen som skal brukes for anropet.Er global.
X-Product-Sku (kan også angis med spørringsparameteren product_sku)Angir Product SKU-en som skal brukes til fakturering, direkte. Headeren har prioritet over spørringsparameteren og brukes hovedsakelig for tale- og stemmeruter.Kan ikke utelates for stemmeruter. audio/speech og audio/transcriptions velger Product med model i forespørselens brødtekst.
anthropic-version / anthropic-betaVidereformidles uendret i Anthropic-kompatible ruter.Versjonen er 2023-06-01.

Hvis 5xx-feil gjentar seg, kan du informere oss via hjelpesenteret og kontaktskjemaet, sammen med X-Request-Id. Hvis du har angitt verdien selv, kan den sammenlignes direkte med klientloggene.

Språk og region

Maskinoversatte språk oversettes av clevi/cip-5.5-im og merkes som dette. Dette gjelder språk med en publisert nettstedspakke.

137 språk

Anbefalt

1

Øst-Asia

7

Sørøst-Asia

11

Sør-Asia

18

Sentral-Asia

5

Midtøsten og Kaukasus

10

Vest-Europa og Sør-Europa

17

Storbritannia og Irland

4

Nord-Europa

10

Sentral-Europa og Balkan

14

Øst-Europa

5

Øst-Afrika

8

Vest-Afrika og Sentral-Afrika

9

Sørlige Afrika

8

Amerika

5

Oseania

5