SDK di Anthropic
UberLLM espone una Messages API compatibile con Anthropic a /v1/messages. Punta l'SDK ufficiale anthropic a UberLLM impostando il suo base URL, e potrai chiamare qualsiasi modello nel catalogo tramite il wire format di Anthropic — non solo i modelli di Anthropic. UberLLM traduce tra i formati di Anthropic e OpenAI nel suo gateway, incluso lo streaming.
- Base URL:
https://api.uberllm.dev - Endpoint:
POST /v1/messages - Auth: la tua
ull_key
L'SDK di Anthropic invia la key nell'header x-api-key; UberLLM accetta anche Authorization: Bearer ull_.... Entrambi funzionano.
Python
import os
from anthropic import Anthropic
client = Anthropic(
base_url="https://api.uberllm.dev",
api_key=os.environ["UBERLLM_API_KEY"],
)
msg = client.messages.create(
model="deepseek/deepseek-v4-flash",
max_tokens=256,
messages=[{"role": "user", "content": "Say hello in one sentence."}],
)
print(msg.content[0].text)
Streaming
with client.messages.stream(
model="deepseek/deepseek-v4-flash",
max_tokens=256,
messages=[{"role": "user", "content": "Count to five."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
TypeScript / JavaScript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.uberllm.dev",
apiKey: process.env.UBERLLM_API_KEY,
});
const msg = await client.messages.create({
model: "deepseek/deepseek-v4-flash",
max_tokens: 256,
messages: [{ role: "user", content: "Say hello in one sentence." }],
});
console.log(msg.content[0].type === "text" ? msg.content[0].text : "");
Curl
curl -N https://api.uberllm.dev/v1/messages \
-H "x-api-key: $UBERLLM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4-flash",
"max_tokens": 256,
"stream": true,
"messages": [{"role": "user", "content": "Say hello."}]
}'
Note
max_tokensè richiesto dall'Anthropic Messages API — includilo.- I modelli pensano solo quando lo chiedi, come sull'API di Anthropic: invia
"thinking": {"type": "enabled", "budget_tokens": 2000}(o"adaptive"). Senza di esso, i modelli di ragionamento come DeepSeek rispondono direttamente, più velocemente, e un piccolomax_tokensnon viene mai consumato dal pensiero. Alcuni modelli non possono disattivare il pensiero; pensano comunque. - I prompt di sistema usano il campo di primo livello
system, come nell'API nativa di Anthropic; UberLLM lo mappa correttamente al modello di destinazione. - I modelli Anthropic vengono fatturati come qualsiasi altro modello: ciò che il provider ha addebitato, senza costi aggiuntivi di UberLLM. Vedi Prezzi.
- Se il tuo framework parla solo OpenAI, usa l'OpenAI SDK invece. Entrambe le superfici raggiungono gli stessi modelli e usano la stessa fatturazione.