Anthropic SDK
Llame a los modelos Claude a través de HopBase con el SDK de Anthropic.
Mantenga la estructura de la Anthropic Messages API y reemplace únicamente el Base URL, la clave del plan Claude y el ID del modelo.
| Elemento | Valor |
|---|---|
| Base URL | https://api.hop-base.com sin /v1 |
| Variable de entorno de la clave | HOPBASE_CLAUDE_API_KEY |
| Protocolo | Anthropic Messages: POST /v1/messages; también POST /v1/messages/count_tokens |
| ID del modelo | Utilice un ID devuelto por GET /v1/models para la clave del plan Claude |
Instale y envíe una solicitud mínima
python -m pip install anthropicimport os
from anthropic import Anthropic
client = Anthropic(
base_url="https://api.hop-base.com",
api_key=os.environ["HOPBASE_CLAUDE_API_KEY"],
)
msg = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hola"}],
)
print(msg.content[0].text)Use una clave del grupo Claude Max (oficial, cuota completa) o Claude Max (oficial, cuota completa) - Oferta limitada. El grupo Claude Max (ccmax) es solo para el cliente Claude Code; las llamadas por SDK / API se rechazan.
No configure una clave del plan Claude como OpenAI Compatible. Mantenga la autenticación nativa de Anthropic del SDK y la estructura de solicitud de la Messages API. Llamar a un endpoint del protocolo OpenAI con una clave Claude devuelve 404.
Leer el cargo de una solicitud
Una solicitud facturada sin streaming devuelve en el encabezado de respuesta X-HopBase-Cost-USD el importe en USD que se descuenta realmente de su saldo, en X-HopBase-Cost el mismo cargo en CNY y en X-HopBase-Currency la moneda de X-HopBase-Cost (siempre CNY). La respuesta también incluye los mismos cost, cost_usd y currency en usage, y el SDK los conserva como campos adicionales. Las respuestas en streaming no llevan ninguno y el usage de message_delta no cambia; consulte el cargo en Uso de la consola. Las reglas completas están en Cargos.
raw = client.messages.with_raw_response.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Responde solo con ok"}],
)
print(raw.headers.get("x-hopbase-cost"), raw.headers.get("x-hopbase-cost-usd"), raw.headers.get("x-hopbase-currency"))
msg = raw.parse() # Mismo valor que sin with_raw_response
print(msg.usage.cost, msg.usage.cost_usd, msg.usage.currency) # Campos adicionales, mismos valores que los encabezadosParámetros de solicitud admitidos
Esta tabla solo incluye lo que el gateway completa o trata de forma especial. Los demás campos de la Messages API (system, tools, thinking, temperature, etc.) se reenvían sin cambios y siguen los límites oficiales de Anthropic. Los límites de contexto y salida de cada modelo están en la lista de modelos.
| Parámetro / cabecera | Obligatorio | Tipo y límites | Predeterminado | Descripción |
|---|---|---|---|---|
x-api-key o Authorization: Bearer | Obligatorio | Una clave del plan Claude que empieza por sk- | — | Se aceptan ambas cabeceras; si falta la clave devuelve 401 missing_api_key y si el formato es incorrecto, 401 invalid_api_key |
model | Obligatorio | string, un ID de modelo del grupo de la clave actual | — | Un modelo fuera del grupo devuelve 404 model_not_found |
max_tokens | Opcional | integer; sin tope en el gateway, el máximo sigue el límite oficial del modelo | 4096 | La API oficial lo exige; si se omite, HopBase lo completa con 4096, así que una salida larga se corta en 4096 tokens (stop_reason: "max_tokens"). Indíquelo explícitamente |
messages | Obligatorio | array en el formato oficial de Anthropic | — | Se reenvía sin cambios |
stream | Opcional | boolean | false | true devuelve el flujo de eventos SSE de Anthropic |
anthropic-version / anthropic-beta | Opcional | cabeceras string | — | Los SDK las añaden automáticamente; se reenvían sin cambios |
El cuerpo completo de la solicitud tiene un límite de 60 MB; si lo supera, devuelve 413.
Próximos pasos
- Para usar Claude en la terminal, consulte Claude Code
- Para los modelos GPT, use el SDK de OpenAI
- Si algo falla, revise Solución de problemas