⚡ नवीन — Kimi K3 आता लाइव: तुमची Moonshot की जोडा →
दस्तऐवज

टोकन स्ट्रीम करा आणि अचूक ₹ खर्च जाणून घ्या

← कुकबुक

server-sent events वाचा आणि अंतिम usage chunk पकडा जेणेकरून प्रत्येक request चा खर्च निघेल.

SSE + usage chunkएडव्हान्स्डमध्यम8 min

streaming वापरकर्त्यांना tokens जसजसे तयार होतात तसतसे देते. बहुतांश gateways मध्ये अडचण ही आहे की तुम्ही token count गमावता. BharatRouter समर्थन करणाऱ्या providers वर stream_options.include_usage inject करते, म्हणून [DONE] आधीचा अंतिम chunk नेहमी एक usage block घेऊन जातो — तुम्हाला stream आणि खर्च दोन्ही मिळतात.

तुम्ही वापराल: stream: true + अंतिम usage chunk. संदर्भ: chat completions.

करा

from openai import OpenAI

client = OpenAI(base_url="https://api.bharatrouter.com/v1", api_key="br-...")

stream = client.chat.completions.create(
    model="gemma-4-e4b-it",
    messages=[{"role": "user", "content": "Explain UPI in two lines"}],
    stream=True,
    stream_options={"include_usage": True},
)

usage = None
for chunk in stream:
    if chunk.usage:                       # final chunk carries usage
        usage = chunk.usage
    elif chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

print(f"\n\n[tokens: {usage.total_tokens}]")

हे कसे काम करते

response हे text/event-stream आहे. आधी content deltas येतात; [DONE] आधीचा अगदी अंतिम data chunk रिकामे choices आणि भरलेले usage object ठेवतो. ज्या route ने serve केले ते आता देखील x-br-provider response header मध्ये आहे.

खर्च कमी करण्यासाठी आणि मोजण्यासाठी — दोन्ही एकाच कॉलमध्ये — खर्च प्लेबुक शी जोडा.

आणखी रेसिपी कुकबुक मध्ये पाहा, किंवा संपूर्णAPI reference पाहा.