Skip to content

Akış (Streaming)

Uzun yanıtları kullanıcı beklerken tek seferde almak yerine, parça parça (kelime kelime) alabilirsiniz. Bu, sohbet arayüzlerinde "yazıyor" etkisini verir ve algılanan hızı artırır.

Nasıl etkinleştirilir?

İstek gövdesine "stream": true ekleyin:

bash
curl https://app.qevron.ai/v1/chat/completions \
  -H "Authorization: Bearer $QEVRON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "verinova",
    "stream": true,
    "messages": [{ "role": "user", "content": "Üç maddede RAG anlat." }]
  }'
python
stream = client.chat.completions.create(
    model="verinova",
    messages=[{"role": "user", "content": "Üç maddede RAG anlat."}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)
javascript
const stream = await client.chat.completions.create({
  model: "verinova",
  messages: [{ role: "user", content: "Üç maddede RAG anlat." }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0].delta.content ?? "");
}

Yanıt biçimi (SSE)

Akış, Server-Sent Events (SSE) olarak döner. Content-Type: text/event-stream başlığıyla, her parça data: satırı olarak gelir:

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant"}}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"RAG"}}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":", "}}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]
  • Her parçada metin choices[0].delta.content içindedir.
  • Son parçada finish_reason dolu gelir.
  • Akış data: [DONE] ile biter.

Token kullanımını akışta almak

Varsayılan olarak akış sonunda usage gelmez. İstiyorsanız ekleyin:

json
{
  "model": "verinova",
  "stream": true,
  "stream_options": { "include_usage": true },
  "messages": [ ... ]
}

Bu durumda son parçadan hemen önce yalnızca usage içeren bir parça gönderilir.

Hangi uç noktalar akış destekler?

SDK kullanın

SSE'yi elle ayrıştırmak yerine resmi openai SDK'sını kullanmanız önerilir; parçaları sizin için çözümler.

Qevron — AI gateway. Arpanet / OpenAI / Anthropic / Gemini uyumlu.