Developer guide
Autentifikacija API ključem
Zaglavlje u koje se dodaje API ključ i base URL koji treba postaviti u SDK-u
Ova stranica opisuje kako se autentificirati API ključem na CLEVI gatewayu.
I OpenAI-kompatibilna i Anthropic-kompatibilna ruta autentificiraju se jednim ključem,
a dopušteno zaglavlje za ključ i base URL koji treba postaviti u SDK-u razlikuju se prema specifikaciji.
Zaglavlje za autentifikaciju
Obje kompatibilne specifikacije autentificiraju se jednim API ključem. Ključ se izdaje na zaslonu API ključeva u konzoli, a na istom zaslonu upravlja se njegovim opozivom i rasponom upotrebe.
| Zaglavlje | OpenAI-kompatibilno | Anthropic-kompatibilno |
|---|---|---|
| X-API-Key: <키> | Dostupno | Dostupno |
| Authorization: Bearer <키> | Dostupno | Dostupno |
| Authorization: <키> (Bearer 없이) | Odbijeno | Dostupno |
Naziv zaglavlja ne razlikuje velika i mala slova. x-api-key koji šalje Anthropic SDK također radi bez izmjena.
base URL
SDK koji ste dosad koristili možete nastaviti koristiti tako da samo promijenite base URL na adresu u nastavku. Dvije se adrese razlikuju po tome uključuju li /v1.
| Specifikacija | base URL | Pravilo putanje |
|---|---|---|
| OpenAI-kompatibilno | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Uključite do /v1 u base URL. |
| Anthropic-kompatibilno | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK sam dodaje /v1 putanji, pa završava prije /v1. |
Provjera autentifikacije
Autentifikaciju možete odmah provjeriti tako da unesete ključ i base URL te dohvatite popis modela. U nastavku se isti dohvat izvršava pomoću curl-a, OpenAI SDK-a i Anthropic SDK-a.
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"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)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)Na mjesto sk-... unesite ključ izdan na zaslonu API ključeva.
- Ako je odgovor 200, autentifikacija je uspješna. U data nalazi se popis modela koje možete pozivati ovim ključem.
- Ako je odgovor 401, provjerite redoslijedom navedenim u odjeljku Neuspjela autentifikacija u nastavku.
Zaglavlje koje se koristi zajedno
Sve je neobavezno. Za praćenje problema preporučujemo da uključite X-Request-Id.
| Zaglavlje | Namjena | Ako se izostavi |
|---|---|---|
| X-Request-Id | Identifikator za praćenje zahtjeva. U odgovorima kompatibilnima s Anthropicom vraća se kao zaglavlje request-id. | Izdaje ga poslužitelj. |
| X-Region-Code | Regija poziva | global. |
| X-Product-Sku (dostupno i kao product_sku u upitu) | Izravno određuje Product SKU koji će se koristiti za naplatu. Zaglavlje ima prednost pred upitom i uglavnom se koristi za glasovne i voice rute. | Potrebno je za voice rute. audio/speech i audio/transcriptions odabiru Product prema modelu u tijelu zahtjeva. |
| anthropic-version / anthropic-beta | Prosljeđuje se neizmijenjeno na rutama kompatibilnima s Anthropicom. | Verzija je 2023-06-01. |
Neuspjela autentifikacija
Ako ne pošaljete ključ ili pošaljete ključ kojem je istekao rok ili je opozvan, dobit ćete 401. Ako pozovete OpenAI-kompatibilnu rutu bez ključa, primit ćete tijelo u nastavku, a error.type na ruti kompatibilnoj s Anthropicom bit će authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- Na zaslonu API ključeva provjerite status ključa. Ako mu je istekao rok ili je opozvan, izdajte novi.
- Provjerite je li naziv zaglavlja X-API-Key ili Authorization.
- Ako na OpenAI-kompatibilnoj ruti koristite Authorization, provjerite prefiks Bearer.
