Developer guide

Authenticatie met een API-sleutel

De header die de API-sleutel bevat en de base URL die in de SDK moet worden ingesteld

De CLEVI-gateway authenticeert zowel het OpenAI-compatibele pad als het Anthropic-compatibele pad met één API-sleutel.
Aan de clientzijde moeten twee waarden worden ingesteld: de authenticatieheader die de sleutel bevat en de base URL van de SDK. De toegestane headerindeling en base URL verschillen per specificatie.
Nadat u de instellingen hebt voltooid, kunt u de authenticatie direct controleren door de modellenlijst op te vragen.
Bij een authenticatiefout wordt 401 geretourneerd. Als na geslaagde authenticatie niet aan de autorisatie- of limietvoorwaarden wordt voldaan, wordt 403 geretourneerd.

Vraag de API-sleutel aan via het scherm API-sleutels in de console. Op hetzelfde scherm kunt u de sleutel intrekken en het gebruiksbereik beheren.

Authenticatieheader

Bij beide specificaties wordt de API-sleutel in één requestheader opgenomen. Gebruik de X-API-Key-header of de Authorization-header; de toegestane indeling verschilt per specificatie.

HeaderOpenAI-compatibelAnthropic-compatibel
X-API-Key: <키>BeschikbaarBeschikbaar
Authorization: Bearer <키>BeschikbaarBeschikbaar
Authorization: <키> (zonder Bearer)AfgewezenBeschikbaar

Bij gebruik van de Authorization-header in het OpenAI-compatibele pad is het voorvoegsel Bearer vereist. Als u alleen de sleutel zonder het voorvoegsel verzendt, weigert de gateway het verzoek.

Headernamen zijn niet hoofdlettergevoelig, dus de x-api-key-header die de Anthropic SDK verzendt, werkt ook zonder aanpassingen. Als beide headers worden opgegeven, krijgt de waarde van X-API-Key voorrang.

base URL

Bestaande SDK's kunt u blijven gebruiken door alleen de base URL te wijzigen in een van de onderstaande adressen. De twee adressen verschillen in de vraag of ze /v1 bevatten. Geef daarom het adres op dat bij de specificatie hoort.

Specificatiebase URLPadregels
OpenAI-compatibelhttps://platform.clevi.net/api/v2/aiservice/openai/v1Neem tot en met /v1 op in de base URL.
Anthropic-compatibelhttps://platform.clevi.net/api/v2/aiservice/anthropicDe Anthropic SDK voegt /v1 rechtstreeks toe aan het aanvraagpad, dus de URL eindigt vóór /v1.

Authenticatie controleren

Nadat u de sleutel en de base URL hebt ingesteld, kunt u de authenticatie controleren door de modellenlijst op te vragen. In de onderstaande voorbeelden wordt dezelfde aanvraag uitgevoerd met curl, de OpenAI SDK en de Anthropic SDK. Vervang sk-... door de sleutel die u op de API-sleutelpagina hebt uitgegeven.

Wanneer u de modellenlijst met curl opvraagt, geeft u voor beide standaarden het volledige pad tot en met /v1/models op. Het eerste commando gebruikt de header X-API-Key voor het OpenAI-compatibele pad, en het tweede commando gebruikt de header Authorization voor het Anthropic-compatibele pad.

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"

Geef voor de OpenAI SDK een adres op waarin /v1 is opgenomen in 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)

Geef voor de Anthropic SDK een adres op waarbij base_url eindigt vóór /v1.
Gebruik voor authenticatie de x-api-key-header die de SDK verzendt, zonder wijzigingen.

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)

Als de respons bij elk voorbeeld 200 is, is de authenticatie geslaagd. In data van de respons staat de lijst met modellen die met deze sleutel kunnen worden aangeroepen. Controleer bij 401 de oorzaak volgens de volgorde in het volgende gedeelte.

Authenticatiefout

Als u geen sleutel of een verlopen of ingetrokken sleutel verzendt, wordt 401 geretourneerd. Als u het OpenAI-compatibele pad zonder sleutel aanroept, wordt de onderstaande body geretourneerd. Bij het Anthropic-compatibele pad is error.type authentication_error.

{
  "error": {
    "message": "API key is required.",
    "type": "invalid_request_error"
  }
}

Controleer bij een 401-respons het volgende in deze volgorde.

  1. Controleer de sleutelstatus op de API-sleutelpagina. Geef een nieuwe sleutel uit als de sleutel is verlopen of ingetrokken.
  2. Controleer of de headernaam X-API-Key of Authorization is.
  3. Als u op het OpenAI-compatibele pad de header Authorization gebruikt, controleer dan of deze het voorvoegsel Bearer bevat.

Voer na de wijzigingen de aanvraag van de modellenlijst in het gedeelte Authenticatie controleren opnieuw uit en controleer of u 200 ontvangt.

Gemeenschappelijk gebruikte headers

Alle volgende headers zijn optioneel. We raden aan X-Request-Id in te stellen, zodat problemen kunnen worden getraceerd.

HeaderDoelAls deze wordt weggelaten
X-Request-IdIdentificatie voor het volgen van verzoeken. De Anthropic-compatibele route retourneert dezelfde waarde in de request-id-header van het antwoord.Wordt door de server uitgegeven.
X-Region-CodeGeeft de regio voor de aanroep op.Dit is global.
X-Product-Sku (kan ook worden opgegeven met de queryparameter product_sku)Geeft de Product SKU voor facturering rechtstreeks op. De header heeft voorrang op de queryparameter en wordt voornamelijk gebruikt voor spraak- en voice-routes.Mag in voice-routes niet worden weggelaten. audio/speech en audio/transcriptions selecteren het Product via model in de request body.
anthropic-version / anthropic-betaWordt ongewijzigd doorgegeven in de Anthropic-compatibele route.De versie is 2023-06-01.

Als 5xx-fouten zich herhaaldelijk voordoen, meld dit dan via de helpfunctie en het contactformulier, samen met X-Request-Id. Als u de waarde zelf hebt opgegeven, kunt u deze direct vergelijken met de clientlog.

Taal en regio

Machinaal vertaalde talen zijn vertaald door clevi/cip-5.5-im en als zodanig gemarkeerd. Dit geldt voor talen met een gepubliceerde sitebundel.

137 talen

Aanbevolen

1

Oost-Azië

7

Zuidoost-Azië

11

Zuid-Azië

18

Centraal-Azië

5

Midden-Oosten en de Kaukasus

10

West-Europa en Zuid-Europa

17

Verenigd Koninkrijk en Ierland

4

Noord-Europa

10

Midden-Europa en de Balkan

14

Oost-Europa

5

Oost-Afrika

8

West-Afrika en Centraal-Afrika

9

Zuidelijk Afrika

8

Amerika

5

Oceanië

5