Anthropic SDK
UberLLM stellt eine Anthropic-kompatible Messages API unter /v1/messages bereit. Richten Sie das offizielle anthropic SDK auf UberLLM aus, indem Sie dessen Basis-URL festlegen, und Sie können jedes Modell im Katalog über das Anthropic-Wire-Format aufrufen – nicht nur Anthropic-Modelle. UberLLM übersetzt in seinem eigenen Gateway zwischen den Anthropic- und OpenAI-Formaten, einschließlich Streaming.
- Basis-URL:
https://api.uberllm.dev - Endpunkt:
POST /v1/messages - Auth: Ihr
ull_Key
Das Anthropic SDK sendet den Key im x-api-key Header; UberLLM akzeptiert auch Authorization: Bearer ull_.... Beides funktioniert.
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."}]
}'
Hinweise
max_tokenswird von der Anthropic Messages API benötigt — fügen Sie es hinzu.- Modelle denken nur, wenn Sie sie dazu auffordern, wie bei der Anthropic API: senden Sie
"thinking": {"type": "enabled", "budget_tokens": 2000}(oder"adaptive"). Ohne dies antworten Reasoning-Modelle wie DeepSeek direkt, schneller, und ein kleinesmax_tokenswird nie durch Denken verbraucht. Einige Modelle können das Denken nicht ausschalten; sie denken so oder so. - System-Prompts verwenden das Top-Level-Feld
system, wie in der nativen Anthropic API; UberLLM ordnet es dem Zielmodell korrekt zu. - Anthropic-Modelle werden wie jedes andere Modell abgerechnet: was der Anbieter berechnet hat, ohne zusätzliche UberLLM-Gebühr. Siehe Preise.
- Wenn Ihr Framework nur OpenAI "spricht", verwenden Sie stattdessen das OpenAI SDK. Beide Oberflächen erreichen dieselben Modelle und verwenden dieselbe Abrechnung.