Rehberler
Akış
stream: true ayarla; yanıt kelime kelime, OpenAI’nin sunucu tarafı olayları olarak gelir. Kullanım bilgisini istersen son parça çağrının ne kadara mal olduğunu söyler.
26 Ekim 2026 tarihinde kontrol edildi
Yanıtı akışla al
import os
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
stream = client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
messages=[{"role": "user", "content": "Tell me a story in three lines."}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="", flush=True)
if chunk.usage:
print("\ncredits:", chunk.usage.model_extra.get("nokeep_credits"))Ne gelir
data: {"choices":[{"index":0,"delta":{"role":"assistant","content":""}}]}
data: {"choices":[{"index":0,"delta":{"content":"The"}}]}
data: {"choices":[{"index":0,"delta":{"content":" lighthouse"}}]}
…
data: {"choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: {"choices":[],"usage":{"prompt_tokens":18,"completion_tokens":61,"nokeep_credits":0}}
data: [DONE]- Kelimeler
delta.contentiçinde gelir. Düşünme açıksa, önce düşünmedelta.reasoning_contentiçinde gelir. - Araç çağrıları
delta.tool_callsiçinde gelir; argümanları OpenAI’nin gönderdiği gibi parça parça gelir. stream_options.include_usageile boş birchoiceslistesi taşıyan son parçausagebilgisini taşır; bunanokeep_creditsde dahildir, yani çağrının maliyeti.- Akış
data: [DONE]ile biter.
Yanıtı erken durdur
Bağlantıyı kapat, model yazmayı bırakır. Durdurmadan önce gönderilen için ödersin, sonrası için ödemezsin. SDK’larda döngüden çık ve akışı kapat; bir uygulamada Durdur düğmesine bas.
for chunk in stream:
text = chunk.choices[0].delta.content if chunk.choices else ""
if text and "THE END" in text:
stream.close() # the model stops here, and so does the bill
breakModel önce durursa
Model bir akışı bitirmeden sonlandırırsa, [DONE]’dan önceki son olay OpenAI biçiminde bir hatadır ve kodu stream_cut’tır. Yazdığı kısım faturalandırılır, başka bir şey değil. Yeniden dene ya da gelenlerden devam et.
data: {"error":{"type":"api_error","code":"stream_cut","message":"The model stopped before it finished. What it wrote is billed, nothing more."}}
data: [DONE]Sorular
Akış daha mı pahalı?
Hayır. Akışla gelen yanıt, tamamı gelen yanıtla aynı token’a mal olur.
Akışta neden x-nokeep-credits başlığı yok?
Başlıklar ilk kelimeden önce gönderilir; o zaman maliyet henüz bilinmez. Kullanım bilgisini iste ve son parçadaki nokeep_credits’i oku.