BaruArahkan agen apa pun ke UberLLM — satu key, semua model, harga resmi atau lebih murah.
UberLLM

Streaming

Baik antarmuka OpenAI (/v1/chat/completions) maupun Anthropic (/v1/messages) mendukung streaming melalui Server-Sent Events. Responses API (/v1/responses) melakukan streaming response.* event-nya sendiri; lihat Responses API. Streaming adalah pengaturan default yang direkomendasikan untuk apa pun dengan prompt yang panjang, output yang panjang, atau batas token yang tinggi — ini menghindari timeout permintaan dan memungkinkan Anda menampilkan token saat tiba.


OpenAI-style 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."}]
  }'

Responsnya adalah urutan dari data: baris, masing-masing adalah chat completion chunk, diakhiri dengan 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)

Pencatatan penggunaan

UberLLM memasukkan stream_options: {"include_usage": true} untuk upstream yang mendukungnya, sehingga chunk terakhir membawa objek usage dengan jumlah token prompt dan completion, dan cost_usd: berapa biaya permintaan ini, dalam dolar AS (biaya yang dikenakan penyedia untuk itu). Ketika upstream tidak mengirimkan chunk penggunaan, UberLLM menambahkan satu sebelum data: [DONE]. Pada /v1/messages biayanya ada di usage dari event message_delta.

Permintaan Anda ditagihkan dengan biaya yang dilaporkan marketplace untuk panggilan tersebut; ketika data penggunaan tidak tersedia, gateway kembali ke estimasi tokenizer dan menandai permintaan sebagai diestimasi di log aktivitas Anda. Header stream dikirim sebelum biaya diketahui, sehingga stream tidak memiliki header X-UberLLM-Cost-USD: baca usage.cost_usd.

Pembatalan

Jika Anda terputus di tengah streaming, gateway membatalkan permintaan upstream dan hanya menagih token yang benar-benar di-stream. Anda tidak akan pernah ditagih untuk respons penuh yang tidak Anda terima, dan tidak ada saldo cadangan yang tertahan.

Keep-alives

Gateway mengirimkan : ping comment segera saat connect dan keep-alives berkala, agar streams yang berjalan lama dapat bertahan dari proxy idle timeouts.