Developer guide
Autentisering med API-nøkkel
Headeren som inneheld API-nøkkelen, og base URL-en som skal konfigurerast i SDK-en
CLEVI-gatewayen autentiserer OpenAI-kompatible og Anthropic-kompatible baner med éin API-nøkkel.
Det er to verdiar som skal konfigurerast på klienten: autentiseringsheaderen som inneheld nøkkelen, og base URL-en til SDK-en. Dei tillatne headerformat og base URL-ane varierer etter spesifikasjon.
Når konfigurasjonen er fullført, kan du kontrollere autentiseringa med ein gong ved å hente modellista.
Ved mislykka autentisering returnerer tenesta 401. Dersom autentiseringa er godkjend, men krava til tilgang eller grense ikkje er oppfylte, returnerer ho 403.
Opprett API-nøkkelen på API-nøkkelsida i konsollen. På same side kan du administrere tilbakekalling av nøklar og bruksområde.
Autentiseringsheader
Begge spesifikasjonane legg API-nøkkelen i éin request-header. Bruk anten X-API-Key-headeren eller Authorization-headeren. Det tillatne formatet varierer etter spesifikasjon.
| Header | OpenAI-kompatibel | Anthropic-kompatibel |
|---|---|---|
| X-API-Key: <nøkkel> | Tillaten | Tillaten |
| Authorization: Bearer <nøkkel> | Tillaten | Tillaten |
| Authorization: <nøkkel> (utan Bearer) | Avvist | Tillaten |
Når du brukar Authorization-headeren med den OpenAI-kompatible banen, må du ha med prefikset Bearer. Dersom du berre sender nøkkelen utan prefikset, avviser gatewayen førespurnaden.
Sidan headernamn ikkje skil mellom store og små bokstavar, fungerer også x-api-key-headeren som Anthropic SDK sender, uendra. Dersom begge headerane er spesifiserte, blir verdien i X-API-Key prioritert.
base URL
SDK-en du brukar frå før, kan framleis brukast ved å endre berre base URL-en til adressa nedanfor. Adressene skil seg frå kvarandre ved om dei inneheld /v1, så spesifiser adressa som høyrer til spesifikasjonen, uendra.
| Spesifikasjon | base URL | Regel for bane |
|---|---|---|
| OpenAI-kompatibel | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Inkluder /v1 i base URL-en. |
| Anthropic-kompatibel | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK legg sjølv til /v1 i request-banen, så URL-en sluttar før /v1. |
Kontroller autentisering
Når du har angitt nøkkelen og base-URL-en, kan du kontrollere om autentiseringa fungerer ved å hente modellista. Dømet nedanfor utfører det same oppslaget med curl, OpenAI SDK og Anthropic SDK. Byt ut sk-... med nøkkelen du har fått frå sida for API-nøklar.
Når du gjer oppslag med curl, må du angi den fullstendige stien fram til /v1/models for begge spesifikasjonane. Den første kommandoen brukar X-API-Key-headeren for den OpenAI-kompatible stien, og den andre brukar Authorization-headeren for den Anthropic-kompatible stien.
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 ei 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 ei adresse der base_url sluttar før /v1.
For autentisering brukar du x-api-key-headeren som SDK-en sender, uendra.
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)For alle døma betyr eit svar på 200 at autentiseringa var vellukka, og data i svaret inneheld lista over modellar som kan kallast med denne nøkkelen. Ved 401 finn du årsaka i rekkjefølgja i neste avsnitt.
Autentiseringsfeil
Dersom du sender ein nøkkel som manglar, er utgått eller tilbakekalla, blir 401 returnert. Dersom du kallar den OpenAI-kompatible stien utan nøkkel, blir teksten nedanfor returnert, medan error.type er authentication_error for den Anthropic-kompatible stien.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Når du får 401, kontrollerer du dette i følgjande rekkjefølgje.
- Kontroller statusen til nøkkelen på sida for API-nøklar. Utferd ein ny nøkkel dersom den er utgått eller tilbakekalla.
- Kontroller at headernamnet er X-API-Key eller Authorization.
- Dersom du brukar Authorization-headeren på den OpenAI-kompatible stien, må du kontrollere at han har prefikset Bearer.
Køyr modellisteoppslaget i avsnittet om kontroll av autentisering på nytt etter at du har gjort endringane, og kontroller at du får 200.
Headerar som blir brukte saman
Alle dei følgjande headerane er valfrie. Vi rår til at du angir X-Request-Id, slik at problem kan sporast.
| Header | Bruksområde | Dersom han blir utelaten |
|---|---|---|
| X-Request-Id | Identifikator for sporing av førespurnaden. Den Anthropic-kompatible ruta returnerer den same verdien i request-id-svarshovudet. | Serveren utferdar han. |
| X-Region-Code | Angir regionen som skal brukast for førespurnaden. | Det er global. |
| X-Product-Sku (kan òg angivast med spørringsparameteren product_sku) | Angir Product SKU-en som skal brukast til fakturering, direkte. Hovudet har prioritet framfor spørringa og blir hovudsakleg brukt i tale- og voice-ruter. | Kan ikkje utelatast i voice-ruter. audio/speech og audio/transcriptions vel Product med model i førespurnadsinnhaldet. |
| anthropic-version / anthropic-beta | Vidareformidlast uendra i den Anthropic-kompatible ruta. | Versjonen er 2023-06-01. |
Viss 5xx-feil oppstår gjentekne gonger, kan du melde frå via hjelpa og kontakta oss, saman med X-Request-Id. Dersom det er ein verdi du har angitt direkte, kan han samanliknast direkte med klientloggane.