NeuVerbinde jeden Agenten mit UberLLM: ein Schlüssel, alle Modelle, zum Listenpreis oder günstiger.
UberLLM

Streaming

Sowohl die OpenAI (/v1/chat/completions) als auch die Anthropic (/v1/messages) Oberflächen unterstützen Streaming über Server-Sent Events. Die Responses API (/v1/responses) streamt ihre eigenen response.* Events; siehe Responses API. Streaming ist die empfohlene Standardeinstellung für alles mit einem langen Prompt, langer Ausgabe oder einer hohen Token-Obergrenze — es vermeidet Request-Timeouts und ermöglicht es Ihnen, Tokens anzuzeigen, sobald sie eintreffen.


OpenAI-Stil Stream

curl -N https://api.uberllm.dev/v1/chat/completions \
  -H "Authorization: Bearer $UBERLLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4-flash",
    "stream": true,
    "messages": [{"role": "user", "content": "Count to five, one per line."}]
  }'

Die Antwort ist eine Sequenz von data: Zeilen, jeweils ein Chat-Completion-Chunk, endend mit data: [DONE].

from openai import OpenAI

client = OpenAI(base_url="https://api.uberllm.dev/v1", api_key="ull_...")

with client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    stream=True,
    messages=[{"role": "user", "content": "Write a short poem."}],
) as stream:
    for chunk in stream:
        delta = chunk.choices[0].delta.content
        if delta:
            print(delta, end="", flush=True)

Nutzungsabrechnung

UberLLM fügt stream_options: {"include_usage": true} für Upstreams ein, die es unterstützen. Der letzte Chunk enthält daher ein usage Objekt mit Prompt- und Completion-Token-Zählungen sowie cost_usd: den in US-Dollar abgerechneten Betrag für diese Anfrage (was der Anbieter dafür berechnet hat). Wenn der Upstream keinen Usage-Chunk sendet, fügt UberLLM einen vor data: [DONE] hinzu. Auf /v1/messages sind die Kosten im usage des message_delta Events.

Ihre Anfrage wird zu den Kosten abgerechnet, die der Marktplatz für diesen Aufruf meldet; wenn die Nutzungsinformationen fehlen, greift das Gateway auf eine Tokenizer-Schätzung zurück und kennzeichnet die Anfrage in Ihrem Aktivitätsprotokoll als geschätzt. Die Header eines Streams werden gesendet, bevor die Kosten bekannt sind, daher hat ein Stream keinen X-UberLLM-Cost-USD Header: lesen Sie usage.cost_usd.

Abbrüche

Wenn Sie mitten im Stream die Verbindung trennen, bricht das Gateway die Upstream-Anfrage ab und berechnet nur die tatsächlich gestreamten tokens. Ihnen wird niemals eine vollständige Antwort berechnet, die Sie nicht erhalten haben, und es bleibt kein reserviertes Guthaben hängen.

Keep-alives

Das Gateway sendet einen sofortigen : ping Kommentar bei Verbindung und periodische Keep-alives, damit langlebige Streams Proxy-Idle-Timeouts überleben.