Developer guide
Autenticación con una clave de API
El encabezado donde se coloca la clave de API y la base URL que se 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 donde se coloca la clave y la base URL que se 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 administran su revocación y su alcance de uso.
| Encabezado | Compatible con OpenAI | Compatible con Anthropic |
|---|---|---|
| X-API-Key: <키> | Permitido | Permitido |
| Authorization: Bearer <키> | Permitido | Permitido |
| Authorization: <키> (sin Bearer) | Rechazado | Permitido |
Los nombres de los encabezados no distinguen 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 por la dirección que aparece a continuación. Las dos direcciones difieren en 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 agrega /v1 automáticamente a la ruta, por lo que termina antes de /v1. |
Verificación de la autenticación
Puede comprobar de inmediato si la autenticación funciona al introducir la clave y la base URL y consultar la lista de modelos. Los tres ejemplos siguientes realizan la misma consulta con curl, el SDK de OpenAI y el SDK de 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)En lugar de sk-..., introduzca la clave emitida en la pantalla de claves de API.
- Si la respuesta es 200, la autenticación se realizó correctamente. data contiene la lista de modelos que se pueden invocar con esta clave.
- Si la respuesta es 401, compruebe siguiendo el orden de la sección de errores 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 puede usarse como el parámetro de consulta product_sku) | Especifica directamente el Product SKU que se usará para la facturación. El encabezado tiene prioridad sobre el parámetro de 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 el model del cuerpo. |
| anthropic-version / anthropic-beta | Se reenvían tal cual en las rutas compatibles con Anthropic. | La versión es 2023-06-01. |
Fallo de autenticación
Si envías una clave inexistente, caducada o revocada, recibirás un 401. Si realizas una llamada sin clave en una ruta compatible con OpenAI, recibirás el siguiente cuerpo; en las rutas compatibles con Anthropic, error.type es authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- Comprueba el estado de la clave en la pantalla de claves de API. Si está caducada o revocada, emite una nueva.
- Comprueba que el nombre del encabezado sea X-API-Key o Authorization.
- Si usas Authorization en una ruta compatible con OpenAI, comprueba el prefijo Bearer.
