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 auprès de la passerelle CLEVI avec une clé API.
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 norme.
En-têtes d’authentification
Les deux normes compatibles s’authentifient avec une seule clé API. La clé est émise dans la page des clés API de la console, où vous pouvez également la révoquer et gérer sa portée 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. Le x-api-key envoyé par le SDK Anthropic fonctionne également tel quel.
base URL
Les SDK que vous utilisez déjà fonctionneront tels quels si vous remplacez uniquement la base URL par l’une des adresses ci-dessous. Les deux adresses diffèrent quant à l’inclusion de /v1.
| Norme | 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, la base URL se termine donc avant /v1. |
Vérifier l’authentification
Vous pouvez vérifier immédiatement l’authentification en entrant la clé et la base URL, puis en récupérant 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é émise dans la page des clés API.
- Si la réponse est 200, l’authentification a réussi. data contient la liste des modèles que cette clé peut appeler.
- Si la réponse est 401, vérifiez les éléments dans l’ordre indiqué dans la section sur l’échec de l’authentification ci-dessous.
En-tête utilisé conjointement
Tout est facultatif. Pour faciliter le suivi des problèmes, il est recommandé d’inclure X-Request-Id.
| En-tête | Utilisation | Si omis |
|---|---|---|
| X-Request-Id | Identifiant de suivi de la requête. Dans les réponses compatibles avec Anthropic, il est renvoyé sous forme d’en-tête request-id. | Émis par le serveur. |
| X-Region-Code | Région d’appel | global. |
| X-Product-Sku (également possible avec le paramètre de requête product_sku) | Spécifie directement le Product SKU à utiliser pour la facturation. L’en-tête est prioritaire sur le paramètre de requête et est principalement utilisé pour les chemins audio et vocaux. | Nécessaire pour les chemins vocaux. audio/speech et audio/transcriptions sélectionnent le Product avec model dans le corps de la requête. |
| anthropic-version / anthropic-beta | Transmis tel quel dans les chemins compatibles avec Anthropic. | La version est 2023-06-01. |
Échec de l’authentification
Si vous n’envoyez aucune clé ou si vous envoyez une clé expirée ou révoquée, le code est 401. Si vous effectuez un appel sans clé dans un chemin compatible avec OpenAI, le corps ci-dessous est renvoyé; dans un 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 dans un chemin compatible avec OpenAI, vérifiez le préfixe Bearer.
