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ête | Compatible avec OpenAI | Compatible 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écification | base URL | Règle de chemin |
|---|---|---|
| Compatible avec OpenAI | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Incluez /v1 dans la base URL. |
| Compatible avec Anthropic | https://platform.clevi.net/api/v2/aiservice/anthropic | Le 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ête | Utilisation | Si omis |
|---|---|---|
| X-Request-Id | Identifiant 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-Code | Région appelée | Il 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-beta | Transmis 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"
}
}- 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.
- Vérifiez que le nom de l’en-tête est X-API-Key ou Authorization.
- Si vous utilisez Authorization sur le chemin compatible avec OpenAI, vérifiez le préfixe Bearer.
