Developer guide
Autentifikacija pomoću API ključa
Zaglavlje u koje se unosi API ključ i base URL koji treba postaviti u SDK-u
Ova stranica objašnjava kako se autentifikovati pomoću API ključa na CLEVI gatewayu.
I OpenAI-kompatibilna putanja i Anthropic-kompatibilna putanja koriste jedan ključ za autentifikaciju,
ali se dozvoljeni opseg zaglavlja u koje se unosi ključ i base URL koji treba postaviti u SDK-u razlikuju prema specifikaciji.
Zaglavlje za autentifikaciju
Obje kompatibilne specifikacije koriste jedan API ključ za autentifikaciju. Ključ se izdaje na stranici API ključeva u konzoli, a na istoj stranici upravlja se opozivom i opsegom upotrebe.
| Zaglavlje | OpenAI-kompatibilno | Anthropic-kompatibilno |
|---|---|---|
| X-API-Key: <ključ> | Dozvoljeno | Dozvoljeno |
| Authorization: Bearer <ključ> | Dozvoljeno | Dozvoljeno |
| Authorization: <ključ> (bez Bearer) | Odbijeno | Dozvoljeno |
Naziv zaglavlja ne razlikuje velika i mala slova. x-api-key koje šalje Anthropic SDK takođe radi bez izmjena.
base URL
SDK koji ste koristili nastavlja raditi bez izmjena ako samo promijenite base URL na adresu u nastavku. Dvije adrese razlikuju se po tome da li uključuju /v1.
| Specifikacija | base URL | Pravila 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 u putanju, pa se završava prije /v1. |
Provjera autentifikacije
Unesite ključ i base URL, a zatim dohvatite listu modela da biste odmah provjerili da li je autentifikacija uspješna. Tri primjera u nastavku izvršavaju isti upit 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 oznake sk-... unesite ključ izdat na stranici API ključeva.
- Ako je odgovor 200, autentifikacija je uspješna. U data se nalazi lista modela koje možete pozvati ovim ključem.
- Ako je odgovor 401, provjerite redoslijedom navedenim u odjeljku Neuspjela autentifikacija u nastavku.
Zaglavlja koja se koriste zajedno
Sve je opcionalno. 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 Anthropic kompatibilnom odgovoru vraća se kao request-id zaglavlje. | Izdaje ga server. |
| X-Region-Code | Regija poziva | global. |
| X-Product-Sku (može se koristiti i kao product_sku u upitu) | Direktno određuje Product SKU koji će se koristiti za naplatu. Zaglavlje ima prednost nad upitom i uglavnom se koristi za audio i voice rute. | Potreban je za voice rute. Za audio/speech i audio/transcriptions Product se odabire pomoću modela u tijelu zahtjeva. |
| anthropic-version / anthropic-beta | Prosljeđuje se bez izmjena na Anthropic kompatibilnim rutama. | Verzija je 2023-06-01. |
Neuspjela autentifikacija
Ako pošaljete ključ koji nedostaje, koji je istekao ili opozvan, dobit ćete 401. Ako pozovete OpenAI kompatibilnu rutu bez ključa, dobit ćete tijelo navedeno u nastavku, a error.type na Anthropic kompatibilnoj ruti je authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- Provjerite status ključa na ekranu API ključeva. Ako je ključ istekao ili opozvan, izdajte novi.
- Provjerite da li je naziv zaglavlja X-API-Key ili Authorization.
- Ako koristite Authorization na OpenAI kompatibilnoj ruti, provjerite prefiks Bearer.
