Developer guide
Autenticación con una clave de API
Encabezado que contiene la clave de API y base URL que se debe configurar en el SDK
Esta página explica cómo autenticarse en la puerta de enlace de CLEVI con una clave de API.
Tanto la ruta compatible con OpenAI como la ruta compatible con Anthropic se autentican con una sola clave,
pero el encabezado que contiene la clave y la base URL que se debe configurar en el SDK varían según la especificación.
Encabezado de autenticación
Ambas especificaciones compatibles se autentican con una sola clave de API. La clave se emite en la pantalla de claves de API de la consola, donde también se gestionan su revocación y su ámbito de uso.
| Encabezado | Compatible con OpenAI | Compatible con Anthropic |
|---|---|---|
| X-API-Key: <clave> | Permitido | Permitido |
| Authorization: Bearer <clave> | Permitido | Permitido |
| Authorization: <clave> (sin Bearer) | Rechazado | Permitido |
El nombre del encabezado no distingue entre mayúsculas y minúsculas. x-api-key, que envía el SDK de Anthropic, también funciona tal cual.
base URL
El SDK que ya utilizaba seguirá funcionando si solo cambia la base URL a una de las direcciones siguientes. La diferencia entre ambas direcciones es si incluyen /v1.
| Especificación | base URL | Regla de la ruta |
|---|---|---|
| Compatible con OpenAI | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Incluya hasta /v1 en la base URL. |
| Compatible con Anthropic | https://platform.clevi.net/api/v2/aiservice/anthropic | El SDK de Anthropic añade /v1 automáticamente a la ruta, por lo que termina antes de /v1. |
Comprobación de la autenticación
Puede comprobar inmediatamente si la autenticación funciona introduciendo la clave y la base URL y consultando la lista de modelos. Los tres ejemplos siguientes realizan la misma consulta con curl, OpenAI SDK y Anthropic SDK.
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)En lugar de sk-... introduzca la clave emitida en la pantalla de claves de API.
- Si la respuesta es 200, la autenticación se ha realizado correctamente. data contiene la lista de modelos que se pueden invocar con esta clave.
- Si la respuesta es 401, siga el orden indicado en la sección Fallo de autenticación que aparece a continuación.
Encabezados utilizados conjuntamente
Todo es opcional. Para rastrear problemas, se recomienda incluir X-Request-Id.
| Encabezado | Uso | Si se omite |
|---|---|---|
| X-Request-Id | Identificador para rastrear solicitudes. En las respuestas compatibles con Anthropic, se devuelve como el encabezado request-id. | Lo emite el servidor. |
| X-Region-Code | Región de la llamada | Es global. |
| X-Product-Sku (también disponible como product_sku en la consulta) | Especifica directamente el Product SKU que se utilizará para la facturación. El encabezado tiene prioridad sobre la consulta y se usa principalmente en las rutas de voz. | Es necesario en las rutas de voz. audio/speech y audio/transcriptions seleccionan el Product mediante model en el cuerpo. |
| anthropic-version / anthropic-beta | Se transmite tal cual en las rutas compatibles con Anthropic. | La versión es 2023-06-01. |
Error de autenticación
Si no se incluye una clave o se envía una clave caducada o revocada, se devuelve 401. Si se realiza una llamada sin clave en la ruta compatible con OpenAI, se muestra el cuerpo siguiente; en la ruta compatible con Anthropic, error.type es authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- Compruebe el estado de la clave en la pantalla de claves de API. Si está caducada o revocada, emita una nueva.
- Compruebe que el nombre del encabezado sea X-API-Key o Authorization.
- Si utiliza Authorization en la ruta compatible con OpenAI, compruebe el prefijo Bearer.
