Developer guide

S’authentifier avec une clé API

En-tête contenant la clé API et base URL à configurer dans le SDK

Cette page explique comment s’authentifier avec une clé API auprès de la passerelle CLEVI.
Les chemins compatibles avec OpenAI et ceux compatibles avec Anthropic s’authentifient tous deux avec une seule clé,
mais les en-têtes acceptés pour transmettre la clé et la base URL à configurer dans le SDK diffèrent selon la spécification.

En-têtes d’authentification

Les deux spécifications compatibles s’authentifient avec une seule clé API. La clé est générée depuis l’écran des clés API de la console, où vous pouvez également gérer sa révocation et son périmètre d’utilisation.

En-têteCompatible avec OpenAICompatible avec Anthropic
X-API-Key: <clé>AcceptéAccepté
Authorization: Bearer <clé>AcceptéAccepté
Authorization: <clé> (sans Bearer)RefuséAccepté

Les noms d’en-tête ne sont pas sensibles à la casse. x-api-key envoyé par le SDK Anthropic fonctionne également tel quel.

base URL

Pour le SDK que vous utilisez déjà, il suffit de remplacer la base URL par l’adresse ci-dessous. La différence entre les deux adresses est l’inclusion ou non de /v1.

Spécificationbase URLRègle de chemin
Compatible avec OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Incluez /v1 dans la base URL.
Compatible avec Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicLe SDK Anthropic ajoute automatiquement /v1 au chemin ; l’URL se termine donc avant /v1.

Vérifier l’authentification

Pour vérifier immédiatement l’authentification, renseignez la clé et la base URL, puis récupérez la liste des modèles. Les trois exemples ci-dessous effectuent la même requête avec curl, le SDK OpenAI et le SDK Anthropic.

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)

À la place de sk-..., saisissez la clé générée depuis l’écran des clés API.

  • Une réponse 200 signifie que l’authentification a réussi. data contient la liste des modèles que cette clé peut appeler.
  • Une réponse 401 signifie que vous devez effectuer les vérifications dans l’ordre indiqué dans la section Échec de l’authentification ci-dessous.

En-têtes utilisés conjointement

Tout est facultatif. Pour suivre les problèmes, il est recommandé d’inclure X-Request-Id.

En-têteUtilisationSi omis
X-Request-IdIdentifiant utilisé pour suivre les requêtes. Dans les réponses compatibles avec Anthropic, il est renvoyé sous forme d’en-tête request-id.Il est attribué par le serveur.
X-Region-CodeRégion appeléeIl s’agit de global.
X-Product-Sku (également disponible via la requête product_sku)Spécifie directement le Product SKU à utiliser pour la facturation. L’en-tête est prioritaire sur la requête et est principalement utilisé pour les chemins audio et vocal.Il est requis pour les chemins vocaux. audio/speech et audio/transcriptions sélectionnent le Product à partir de model dans le corps de la requête.
anthropic-version / anthropic-betaTransmis tel quel sur les chemins compatibles avec Anthropic.La version est 2023-06-01.

Échec de l’authentification

Si vous envoyez une clé absente, expirée ou révoquée, le code est 401. Si vous effectuez un appel sans clé sur le chemin compatible avec OpenAI, le corps ci-dessous est renvoyé. Sur le chemin compatible avec Anthropic, error.type est authentication_error.

{
  "error": {
    "message": "API key is required.",
    "type": "invalid_request_error"
  }
}
  1. Vérifiez l’état de la clé dans l’écran des clés API. Si elle est expirée ou révoquée, générez-en une nouvelle.
  2. Vérifiez que le nom de l’en-tête est X-API-Key ou Authorization.
  3. Si vous utilisez Authorization sur le chemin compatible avec OpenAI, vérifiez le préfixe Bearer.
CLEVI

Langue et région

Les langues traduites automatiquement sont signalées. La disponibilité suit le module publié du site.

136 langues

Recommandé

1

Asie de l’Est

7

Asie du Sud-Est

11

Asie du Sud

18

Asie centrale

5

Moyen-Orient et Caucase

10

Europe de l’Ouest et Europe du Sud

16

Royaume-Uni et Irlande

4

Europe du Nord

10

Europe centrale et Balkans

14

Europe de l’Est

5

Afrique orientale

8

Afrique occidentale et Afrique centrale

9

Afrique australe

8

Amériques

5

Océanie

5