Developer guide
Autentifikavimas naudojant API raktą
Antraštė, kurioje pateikiamas API raktas, ir SDK nustatomas base URL
CLEVI šliuzas autentifikuoja su OpenAI suderinamą maršrutą ir su Anthropic suderinamą maršrutą naudodamas vieną API raktą.
Kliente reikia nustatyti dvi reikšmes: autentifikavimo antraštę, kurioje pateikiamas raktas, ir SDK base URL. Leidžiami antraštės formatai ir base URL skiriasi pagal specifikaciją.
Baigę konfigūraciją, užklausa modelių sąrašui gauti leis iš karto patikrinti, ar autentifikavimas pavyko.
Jei autentifikavimas nepavyksta, grąžinamas 401, o jei po sėkmingo autentifikavimo neįvykdomos prieigos teisės arba limito sąlygos, grąžinamas 403.
API raktą išduokite konsolės API raktų ekrane. Tame pačiame ekrane galite valdyti rakto atšaukimą ir naudojimo apimtį.
Autentifikavimo antraštė
Abiejose specifikacijose API raktas pateikiamas vienoje užklausos antraštėje. Naudokite X-API-Key arba Authorization antraštę; leidžiamas formatas priklauso nuo specifikacijos.
| Antraštė | Suderinama su OpenAI | Suderinama su Anthropic |
|---|---|---|
| X-API-Key: <키> | Leidžiama | Leidžiama |
| Authorization: Bearer <키> | Leidžiama | Leidžiama |
| Authorization: <키> (be Bearer) | Atmetama | Leidžiama |
Naudojant Authorization antraštę su OpenAI suderinamame maršrute, būtinas Bearer priešdėlis. Jei siunčiamas tik raktas be priešdėlio, šliuzas užklausą atmeta.
Antraščių pavadinimuose didžiosios ir mažosios raidės neskiriamos, todėl Anthropic SDK siunčiama x-api-key antraštė taip pat veikia be pakeitimų. Jei nurodomos abi antraštės, pirmenybė teikiama X-API-Key reikšmei.
base URL
Esamą SDK galite toliau naudoti nepakeistą, tiesiog pakeitę base URL į vieną iš toliau pateiktų adresų. Šie du adresai skiriasi tuo, ar juose yra /v1, todėl nurodykite specifikaciją atitinkantį adresą tokį, koks jis pateiktas.
| Specifikacija | base URL | Kelio taisyklė |
|---|---|---|
| Suderinama su OpenAI | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Į base URL įtraukite /v1. |
| Suderinama su Anthropic | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK pati prideda /v1 prie užklausos kelio, todėl URL baigiasi prieš /v1. |
Autentifikavimo tikrinimas
Nustačius raktą ir bazinį URL, autentifikavimą galima patikrinti gavus modelių sąrašą. Toliau pateiktuose pavyzdžiuose ta pati užklausa vykdoma naudojant curl, OpenAI SDK ir Anthropic SDK. Vietoje sk-... įrašykite API rakto puslapyje išduotą raktą.
Vykdant užklausą su curl, abiem specifikacijoms nurodykite visą kelią iki /v1/models. Pirmojoje komandoje su OpenAI suderinamam keliui naudojama X-API-Key antraštė, o antrojoje komandoje su Anthropic suderinamam keliui naudojama Authorization antraštė.
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"OpenAI SDK parametro base_url reikšmėje nurodykite adresą, kuriame yra /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)Anthropic SDK parametro base_url reikšmėje nurodykite adresą, kuris baigiasi prieš /v1.
Autentifikavimui naudokite SDK siunčiamą x-api-key antraštę nepakeistą.
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)Jei bet kuriame pavyzdyje gaunamas 200 atsakymas, autentifikavimas sėkmingas, o atsakymo data lauke pateikiamas modelių, kuriems galima iškviesti naudojant šį raktą, sąrašas. Jei gaunamas 401, priežastį tikrinkite toliau nurodyta tvarka.
Autentifikavimo klaida
Jei siunčiamas neegzistuojantis, pasibaigusio galiojimo arba atšauktas raktas, grąžinamas 401. Jei su OpenAI suderinamu keliu iškviečiama be rakto, grąžinamas toliau pateiktas turinys, o su Anthropic suderinamame kelyje error.type reikšmė yra authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Gavę 401, tikrinkite toliau nurodyta tvarka.
- API rakto puslapyje patikrinkite rakto būseną. Jei rakto galiojimo laikas pasibaigęs arba jis atšauktas, išduokite naują.
- Patikrinkite, ar antraštės pavadinimas yra X-API-Key arba Authorization.
- Jei su OpenAI suderinamame kelyje naudojate Authorization antraštę, patikrinkite, ar joje yra Bearer priešdėlis.
Atlikę pakeitimus, dar kartą įvykdykite modelių sąrašo gavimą iš autentifikavimo tikrinimo skyriaus ir patikrinkite, ar gaunamas 200.
Bendros antraštės
Visos toliau nurodytos antraštės yra pasirenkamos. Rekomenduojame nustatyti X-Request-Id, kad būtų galima sekti problemas.
| Antraštė | Paskirtis | Jei praleidžiama |
|---|---|---|
| X-Request-Id | Užklausoms sekti skirtas identifikatorius. Anthropic suderinamas maršrutas tą pačią reikšmę grąžina atsakymo request-id antraštėje. | Jį išduoda serveris. |
| X-Region-Code | Nurodo užklausos regioną. | Reikšmė yra global. |
| X-Product-Sku (taip pat galima nurodyti naudojant query product_sku) | Tiesiogiai nurodo atsiskaitymui naudojamą Product SKU. Antraštė turi pirmenybę prieš užklausą ir daugiausia naudojama balso bei voice maršrutuose. | Voice maršrutuose jo praleisti negalima. audio/speech ir audio/transcriptions Product pasirenka pagal užklausos turinio model. |
| anthropic-version / anthropic-beta | Anthropic suderinamame maršrute perduodama nepakeista. | Versija yra 2023-06-01. |
Jei 5xx klaidos kartojasi, praneškite pagalbos tarnybai ir pateikite X-Request-Id. Jei reikšmę nurodėte tiesiogiai, ją galima iš karto sutikrinti su kliento žurnalu.