Developer guide
Autentisearje mei in API-kaai
De koptekst mei de API-kaai en de base URL om yn de SDK yn te stellen
De CLEVI-gateway autentisearret sawol it OpenAI-kompatibele paad as it Anthropic-kompatibele paad mei ien API-kaai.
De twa wearden dy't jo oan de kliïntkant ynstelle moatte, binne de autentikaasjekoptekst mei de kaai en de base URL fan de SDK. De tastiene koptekstformaten en base URL ferskille lykwols per spesifikaasje.
Nei't jo de ynstellings foltôge hawwe, kinne jo direkt kontrolearje oft de autentikaasje slagge is troch de modellijst op te freegjen.
By mislearre autentikaasje wurdt 401 weromjûn. As de autentikaasje slagget, mar net foldien wurdt oan de betingsten foar tagong of limiten, wurdt 403 weromjûn.
Freegje in API-kaai oan op it skerm API-kaaien yn de konsole. Op itselde skerm kinne jo de kaai ynlûke en it gebrûksberik beheare.
Autentikaasjekoptekst
Beide spesifikaasjes befetsje de API-kaai yn ien fan de fersyk-kopteksten. Jo brûke óf de X-API-Key-koptekst óf de Authorization-koptekst; it tastiene formaat ferskilt per spesifikaasje.
| Koptekst | OpenAI-kompatibel | Anthropic-kompatibel |
|---|---|---|
| X-API-Key: <kaai> | Beskikber | Beskikber |
| Authorization: Bearer <kaai> | Beskikber | Beskikber |
| Authorization: <kaai> (sûnder Bearer) | Ofwiisd | Beskikber |
By it brûken fan de Authorization-koptekst yn it OpenAI-kompatibele paad is it foarheaksel Bearer nedich. As jo allinnich de kaai stjoere sûnder it foarheaksel, wiist de gateway it fersyk ôf.
De nammen fan kopteksten binne net haadlettergefoelich, dus de x-api-key-koptekst dy't troch de Anthropic SDK ferstjoerd wurdt, wurket ek sa. As jo beide kopteksten opjaan, wurdt de wearde fan X-API-Key mei foarrang tapast.
base URL
Jo kinne de SDK dy't jo al brûkten gewoan bliuwe brûken troch allinnich de base URL te feroarjen nei ien fan de ûndersteande adressen. De twa adressen ferskille yn it al of net befetsjen fan /v1, dus set it adres yn dat by de spesifikaasje heart.
| Spesifikaasje | base URL | Paadregels |
|---|---|---|
| OpenAI-kompatibel | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Omfetsje /v1 yn de base URL. |
| Anthropic-kompatibel | https://platform.clevi.net/api/v2/aiservice/anthropic | De Anthropic SDK foeget /v1 sels ta oan it ferskypad, dus de URL einiget foar /v1. |
Autentikaasje kontrolearje
Nei't jo de kaai en de base URL ynsteld hawwe, kinne jo de autentikaasje kontrolearje troch de modellist op te freegjen. De foarbylden hjirûnder fiere deselde opfraach út mei curl, OpenAI SDK en Anthropic SDK. Ferfang sk-... troch de kaai dy't jo op it API-kaaiskerm útjûn hawwe.
By it opfreegjen mei curl spesifisearje jo foar beide spesifikaasjes it folsleine paad oant en mei /v1/models. It earste kommando brûkt de X-API-Key-header foar it OpenAI-kompatibele paad, en it twadde kommando brûkt de Authorization-header foar it Anthropic-kompatibele paad.
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"Foar de OpenAI SDK spesifisearje jo in adres mei /v1 opnommen yn 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)Foar de Anthropic SDK spesifisearje jo in adres dat by base_url einiget foar /v1.
Foar de autentikaasje brûke jo de x-api-key-header dy't de SDK ferstjoert sa't dy is.
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)As de reaksje by elk foarbyld 200 is, is de autentikaasje slagge, en de data fan de reaksje befettet de list mei modellen dy't mei dizze kaai oanroppen wurde kinne. By 401 kontrolearje jo de oarsaak neffens de folchoarder yn 'e folgjende paragraaf.
Autentikaasje mislearre
As jo in ûntbrekkende, ferrûne of ynlutsen kaai ferstjoere, wurdt 401 weromjûn. As jo it OpenAI-kompatibele paad sûnder kaai oanroppe, wurdt de folgjende ynhâld weromjûn; by it Anthropic-kompatibele paad is error.type authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}As jo 401 krije, kontrolearje it dan yn 'e folgjende folchoarder.
- Kontrolearje de status fan 'e kaai op it API-kaaiskerm. As de kaai ferrûn of ynlutsen is, freegje dan in nije oan.
- Kontrolearje oft de namme fan 'e header X-API-Key of Authorization is.
- As jo de Authorization-header brûke op it OpenAI-kompatibele paad, kontrolearje dan oft it Bearer-foarheaksel oanwêzich is.
Nei de oanpassingen fiere jo de modellist-opfraach út de paragraaf oer autentikaasjekontrôle opnij út en kontrolearje jo oft 200 weromkomt.
Headers dy't tegearre brûkt wurde
Alle folgjende headers binne opsjoneel. Wy riede oan om X-Request-Id yn te stellen, sadat problemen folge wurde kinne.
| Header | Gebrûk | As it weilitten wurdt |
|---|---|---|
| X-Request-Id | Identifikaasje foar it folgjen fan it fersyk. De Anthropic-kompatibele rûte jout deselde wearde werom yn de request-id-header fan it antwurd. | Dit wurdt troch de server útjûn. |
| X-Region-Code | Stelt de regio foar de oprop yn. | It is global. |
| X-Product-Sku (ek yn te stellen mei de queryparameter product_sku) | Stelt de Product SKU foar fakturearring direkt yn. De header hat foarrang op de query en wurdt benammen brûkt foar audio- en voice-rûtes. | Kin net weilitten wurde yn voice-rûtes. audio/speech en audio/transcriptions kieze it Product fia model yn it fersyklichem. |
| anthropic-version / anthropic-beta | Wurdt yn de Anthropic-kompatibele rûte ûnferoare trochjûn. | De ferzje is 2023-06-01. |
As 5xx-flaters har werhelje, lit it ús dan witte fia de help en kontakt, tegearre mei X-Request-Id. As jo de wearde sels ynsteld hawwe, kin dy fuortdaliks ferlike wurde mei de clientlog.