Developer guide
Autenticarse cunha clave de API
O encabezado que contén a clave de API e o base URL que se debe configurar no SDK
A pasarela CLEVI autentica as rutas compatibles con OpenAI e as rutas compatibles con Anthropic cunha única clave de API.
No cliente hai que configurar dous valores: o encabezado de autenticación que contén a clave e o base URL do SDK. Os formatos de encabezado e os base URL permitidos varían segundo a especificación.
Despois de completar a configuración, pode comprobar inmediatamente se a autenticación funciona consultando a lista de modelos.
Se a autenticación falla, devolve 401; se a autenticación se supera pero non se cumpren os permisos ou os límites, devolve 403.
Emita a clave de API na pantalla de claves de API da consola. Na mesma pantalla pode xestionar a revogación da clave e o seu ámbito de uso.
Encabezado de autenticación
Ambas as especificacións inclúen a clave de API nun único encabezado da solicitude. Pode usar o encabezado X-API-Key ou o encabezado Authorization; o formato permitido depende da especificación.
| Encabezado | Compatible con OpenAI | Compatible con Anthropic |
|---|---|---|
| X-API-Key: <키> | Permitido | Permitido |
| Authorization: Bearer <키> | Permitido | Permitido |
| Authorization: <키> (sen Bearer) | Rexeitado | Permitido |
Ao usar o encabezado Authorization na ruta compatible con OpenAI, é necesario o prefixo Bearer. Se envía só a clave sen o prefixo, a pasarela rexeita a solicitude.
Os nomes dos encabezados non distinguen entre maiúsculas e minúsculas, polo que o encabezado x-api-key que envía o SDK de Anthropic tamén funciona directamente. Se especifica ambos os encabezados, aplícase primeiro o valor de X-API-Key.
base URL
Os SDK que xa utilizaba poden seguir funcionando simplemente cambiando o base URL polos enderezos seguintes. Os dous enderezos diferéncianse en se inclúen /v1, polo que debe especificar directamente o enderezo correspondente á especificación.
| Especificación | base URL | Regra de rutas |
|---|---|---|
| Compatible con OpenAI | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Inclúa /v1 no base URL. |
| Compatible con Anthropic | https://platform.clevi.net/api/v2/aiservice/anthropic | O SDK de Anthropic engade directamente /v1 á ruta da solicitude, polo que termina antes de /v1. |
Comprobar a autenticación
Despois de configurar a clave e a URL base, pode comprobar se a autenticación é correcta consultando a lista de modelos. Os exemplos seguintes executan a mesma consulta con curl, OpenAI SDK e Anthropic SDK. Substitúa sk-... pola clave emitida na pantalla de claves da API.
Ao facer a consulta con curl, especifique a ruta completa ata /v1/models en ambos os estándares. O primeiro comando usa o encabezado X-API-Key na ruta compatible con OpenAI, e o segundo usa o encabezado Authorization na ruta compatible con 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"En OpenAI SDK, especifique no enderezo de base_url un enderezo que inclúa /v1.
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)En Anthropic SDK, especifique base_url cun enderezo que remate antes de /v1.
Para a autenticación, use tal cal o encabezado x-api-key que envía o SDK.
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)Se a resposta de calquera dos exemplos é 200, a autenticación foi correcta e data na resposta contén a lista de modelos que se poden chamar con esta clave. Se recibe 401, comprobe a causa seguindo a orde indicada na sección seguinte.
Erro de autenticación
Se non se envía ningunha clave ou se envía unha clave caducada ou revogada, devólvese 401. Se se fai unha chamada sen clave na ruta compatible con OpenAI, devólvese o corpo seguinte; na ruta compatible con Anthropic, error.type é authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Se recibe 401, comprobe o seguinte nesta orde.
- Comprobe o estado da clave na pantalla de claves da API. Se a clave caducou ou foi revogada, emita unha nova.
- Comprobe se o nome do encabezado é X-API-Key ou Authorization.
- Se usa o encabezado Authorization na ruta compatible con OpenAI, comprobe se inclúe o prefixo Bearer.
Despois de facer as modificacións, volva executar a consulta da lista de modelos da sección de comprobación da autenticación e confirme que recibe 200.
Encabezados que se usan conxuntamente
Todos os encabezados seguintes son opcionais. Recomendamos especificar X-Request-Id para poder rastrexar os problemas.
| Encabezado | Uso | Se se omite |
|---|---|---|
| X-Request-Id | Identificador para o seguimento da solicitude. A ruta compatible con Anthropic devolve o mesmo valor na cabeceira request-id da resposta. | Emíteo o servidor. |
| X-Region-Code | Especifica a rexión da chamada. | É global. |
| X-Product-Sku (tamén se pode especificar coa consulta product_sku) | Especifica directamente o Product SKU que se utilizará para a facturación. A cabeceira ten prioridade sobre a consulta e úsase principalmente nas rutas de voz e audio. | Non se pode omitir nas rutas de voz. audio/speech e audio/transcriptions seleccionan o Product mediante model no corpo da solicitude. |
| anthropic-version / anthropic-beta | Transmítese tal cal na ruta compatible con Anthropic. | A versión é 2023-06-01. |
Se se repiten os erros 5xx, comunícao coa axuda e o contacto, xunto co X-Request-Id. Se especificaches o valor directamente, poderás contrastalo de inmediato cos rexistros do cliente.