Developer guide
Autentifikacija pomoću API ključa
Zaglavlje koje sadrži API ključ i base URL koji treba postaviti u SDK-u
CLEVI gateway autentifikuje OpenAI kompatibilnu putanju i Anthropic kompatibilnu putanju pomoću jednog API ključa.
Vrijednosti koje treba postaviti na klijentu su autentifikacijsko zaglavlje koje sadrži ključ i base URL SDK-a, a dozvoljeni formati zaglavlja i base URL razlikuju se prema specifikaciji.
Nakon završetka postavljanja, autentifikaciju možete odmah provjeriti dohvaćanjem liste modela.
Ako autentifikacija ne uspije, vraća se 401, a ako nakon uspješne autentifikacije nisu ispunjeni uslovi za dozvole ili ograničenja, vraća se 403.
API ključ izdajte na stranici API ključeva u konzoli. Na istoj stranici možete upravljati opozivom ključa i opsegom njegove upotrebe.
Autentifikacijsko zaglavlje
Obje specifikacije sadrže API ključ u jednom zaglavlju zahtjeva. Koristite jedno od zaglavlja X-API-Key ili Authorization, a dozvoljeni format zavisi od specifikacije.
| Zaglavlje | OpenAI kompatibilno | Anthropic kompatibilno |
|---|---|---|
| X-API-Key: <ključ> | Dozvoljeno | Dozvoljeno |
| Authorization: Bearer <ključ> | Dozvoljeno | Dozvoljeno |
| Authorization: <ključ> (bez Bearer) | Odbijeno | Dozvoljeno |
Kada koristite zaglavlje Authorization na OpenAI kompatibilnoj putanji, potreban je prefiks Bearer. Ako pošaljete samo ključ bez prefiksa, gateway će odbiti zahtjev.
Nazivi zaglavlja ne razlikuju velika i mala slova, pa i zaglavlje x-api-key koje šalje Anthropic SDK radi bez izmjena. Ako navedete oba zaglavlja, prednost ima vrijednost X-API-Key.
base URL
SDK koji ste ranije koristili možete nastaviti koristiti tako što ćete samo promijeniti base URL u jednu od adresa u nastavku. Dvije adrese razlikuju se po tome da li sadrže /v1, zato navedite adresu koja odgovara specifikaciji bez izmjena.
| Specifikacija | base URL | Pravilo putanje |
|---|---|---|
| OpenAI kompatibilno | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Uključite /v1 do kraja u base URL. |
| Anthropic kompatibilno | https://platform.clevi.net/api/v2/aiservice/anthropic | Završava se prije /v1 jer Anthropic SDK direktno dodaje /v1 putanji zahtjeva. |
Provjera autentifikacije
Nakon što postavite ključ i osnovni URL, možete provjeriti autentifikaciju dohvaćanjem liste modela. Primjeri u nastavku izvršavaju isti upit pomoću curl, OpenAI SDK i Anthropic SDK. Na mjesto sk-... unesite ključ izdat na ekranu API ključa.
Prilikom dohvaćanja pomoću curl-a navedite punu putanju do /v1/models za oba formata. Prva naredba koristi zaglavlje X-API-Key za OpenAI-kompatibilnu putanju, a druga zaglavlje Authorization za Anthropic-kompatibilnu putanju.
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"Za OpenAI SDK navedite adresu koja uključuje /v1 u parametru 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)Za Anthropic SDK navedite adresu u parametru base_url koja se završava prije /v1.
Za autentifikaciju se izravno koristi zaglavlje x-api-key koje SDK šalje.
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)Ako je odgovor 200 u bilo kojem primjeru, autentifikacija je uspješna, a data u odgovoru sadrži listu modela koje možete pozivati ovim ključem. Ako dobijete 401, provjerite uzrok redoslijedom navedenim u sljedećem odjeljku.
Neuspješna autentifikacija
Ako pošaljete nepostojeći, istekli ili opozvani ključ, vraća se 401. Kada pozovete OpenAI-kompatibilnu putanju bez ključa, vraća se tijelo prikazano u nastavku, dok je za Anthropic-kompatibilnu putanju error.type authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Ako dobijete 401, provjerite sljedećim redoslijedom.
- Provjerite status ključa na ekranu API ključa. Ako je ključ istekao ili opozvan, izdajte novi.
- Provjerite da li je naziv zaglavlja X-API-Key ili Authorization.
- Ako koristite zaglavlje Authorization na OpenAI-kompatibilnoj putanji, provjerite da li sadrži prefiks Bearer.
Nakon izmjena ponovo izvršite dohvaćanje liste modela iz odjeljka Provjera autentifikacije i provjerite da li dobijate 200.
Zaglavlja koja se koriste zajedno
Sva sljedeća zaglavlja su opcionalna. Preporučujemo da postavite X-Request-Id kako biste mogli pratiti probleme.
| Zaglavlje | Svrha | Ako se izostavi |
|---|---|---|
| X-Request-Id | Identifikator za praćenje zahtjeva. Anthropic-kompatibilna ruta vraća istu vrijednost u zaglavlju request-id odgovora. | Izdaje ga server. |
| X-Region-Code | Određuje regiju poziva. | global. |
| X-Product-Sku (može se navesti i kao product_sku u upitu) | Direktno određuje Product SKU koji će se koristiti za naplatu. Zaglavlje ima prednost u odnosu na upit i uglavnom se koristi za audio i voice rute. | Ne može se izostaviti na voice rutama. audio/speech i audio/transcriptions odabiru Product pomoću modela u tijelu zahtjeva. |
| anthropic-version / anthropic-beta | Prosljeđuje se neizmijenjeno na Anthropic-kompatibilnoj ruti. | Verzija je 2023-06-01. |
Ako se greške 5xx ponavljaju, obavijestite nas putem pomoći i kontakta, zajedno s X-Request-Id. Ako ste vrijednost naveli direktno, možete je odmah uporediti sa zapisima klijenta.