Developer guide
Autentifikacija API ključem
Zaglavlje koje sadrži API ključ i osnovni URL za konfiguraciju SDK-a
CLEVI pristupnik autentificira OpenAI-kompatibilnu putanju i Anthropic-kompatibilnu putanju jednim API ključem.
Vrijednosti koje treba konfigurirati na klijentu su zaglavlje za autentifikaciju koje sadrži ključ i osnovni URL SDK-a, a dopušteni formati zaglavlja i osnovni URL razlikuju se prema specifikaciji.
Nakon dovršetka konfiguracije možete odmah provjeriti autentifikaciju dohvaćanjem popisa modela.
Ako autentifikacija ne uspije, vraća se 401, a ako nakon uspješne autentifikacije nisu ispunjeni uvjeti ovlasti ili ograničenja, vraća se 403.
Izdajte API ključ na zaslonu za API ključeve u konzoli. Na istom zaslonu možete upravljati opozivom ključa i opsegom njegove upotrebe.
Zaglavlje za autentifikaciju
Obje specifikacije stavljaju API ključ u jedno zaglavlje zahtjeva. Upotrebljava se jedno od zaglavlja X-API-Key i Authorization, a dopušteni format razlikuje se prema specifikaciji.
| Zaglavlje | OpenAI-kompatibilno | Anthropic-kompatibilno |
|---|---|---|
| X-API-Key: <키> | Dostupno | Dostupno |
| Authorization: Bearer <키> | Dostupno | Dostupno |
| Authorization: <키> (bez Bearer) | Odbijeno | Dostupno |
Pri upotrebi zaglavlja Authorization u OpenAI-kompatibilnoj putanji potreban je prefiks Bearer. Ako pošaljete samo ključ bez prefiksa, pristupnik će odbiti zahtjev.
Nazivi zaglavlja ne razlikuju velika i mala slova, pa i zaglavlje x-api-key koje šalje Anthropic SDK funkcionira bez izmjena. Ako navedete oba zaglavlja, prednost ima vrijednost X-API-Key.
osnovni URL
Postojeći SDK možete nastaviti upotrebljavati tako da samo promijenite osnovni URL na adresu u nastavku. Dvije se adrese razlikuju po tome sadrže li /v1, stoga navedite adresu koja odgovara specifikaciji u neizmijenjenom obliku.
| Specifikacija | osnovni URL | Pravila putanje |
|---|---|---|
| OpenAI-kompatibilno | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Uključite do /v1 u osnovni URL. |
| Anthropic-kompatibilno | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK izravno dodaje /v1 u putanju zahtjeva, pa završava prije /v1. |
Provjera autentifikacije
Nakon postavljanja ključa i osnovnog URL-a, dohvatom popisa modela možete provjeriti je li autentikacija uspješna. Primjer u nastavku izvršava isti dohvat pomoću curl, OpenAI SDK-a i Anthropic SDK-a. Umjesto sk-... unesite ključ izdan na zaslonu API ključa.
Prilikom dohvaćanja pomoću curl navedite cijelu putanju do /v1/models za oba protokola. Prva naredba koristi zaglavlje X-API-Key za putanju kompatibilnu s OpenAI-jem, a druga zaglavlje Authorization za putanju kompatibilnu s Anthropicom.
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 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 base_url tako da završava prije /v1.
Za autentikaciju izravno upotrijebite 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 u bilo kojem primjeru 200, autentikacija je uspješna, a data u odgovoru sadrži popis modela koje možete pozivati ovim ključem. Ako je odgovor 401, provjerite uzrok redoslijedom navedenim u sljedećem odjeljku.
Neuspjela autentikacija
Ako pošaljete ključ koji nedostaje, koji je istekao ili opozvan, vraća se 401. Ako pozovete putanju kompatibilnu s OpenAI-jem bez ključa, vraća se tijelo u nastavku, a za putanju kompatibilnu s Anthropicom error.type je authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Ako dobijete 401, provjerite sljedećim redoslijedom.
- Provjerite status ključa na zaslonu API ključa. Ako je ključ istekao ili opozvan, izdajte novi.
- Provjerite zove li se zaglavlje X-API-Key ili Authorization.
- Ako na putanji kompatibilnoj s OpenAI-jem upotrebljavate zaglavlje Authorization, provjerite postoji li prefiks Bearer.
Nakon izmjena ponovno izvršite dohvat popisa modela u odjeljku Provjera autentikacije i provjerite dobivate li 200.
Zaglavlja koja se upotrebljavaju zajedno
Sva su sljedeća zaglavlja neobavezna. 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. Putanja kompatibilna s Anthropicom vraća istu vrijednost u zaglavlju request-id odgovora. | Izdaje ga poslužitelj. |
| X-Region-Code | Određuje regiju za poziv. | global. |
| X-Product-Sku (može se navesti i kao product_sku upita) | Izravno određuje Product SKU koji će se upotrijebiti za naplatu. Zaglavlje ima prednost pred upitom i uglavnom se upotrebljava na glasovnim i voice putanjama. | Na voice putanjama ne može se izostaviti. audio/speech i audio/transcriptions odabiru Product pomoću modela u tijelu zahtjeva. |
| anthropic-version / anthropic-beta | Prosljeđuje se neizmijenjeno na putanji kompatibilnoj s Anthropicom. | Verzija je 2023-06-01. |
Ako se 5xx pogreške ponavljaju, javite nam se putem pomoći i upita te navedite X-Request-Id. Ako ste vrijednost naveli izravno, možete je odmah usporediti sa zapisima klijenta.