OneMux/दस्तावेज़/स्ट्रीमिंग आउटपुट

स्ट्रीमिंग आउटपुट

Server-Sent Events (SSE) स्ट्रीमिंग आउटपुट से AI प्रतिक्रियाएँ टाइपराइटर की तरह एक-एक अक्षर करके लौटती हैं, जिससे उपयोगकर्ता अनुभव बेहतर होता है। इस पृष्ठ में स्ट्रीमिंग आउटपुट सक्षम करने, SSE डेटा ब्लॉक पार्स करने और स्ट्रीमिंग कनेक्शन संभालने का तरीका बताया गया है। यह चैट बातचीत और सामग्री निर्माण जैसे परिदृश्यों के लिए उपयुक्त है।

स्ट्रीमिंग का उपयोग क्यों करें?

  • बड़े भाषा मॉडल की प्रतिक्रिया धीमी होती है, इसलिए उपयोगकर्ताओं को तुरंत फ़ीडबैक चाहिए
  • ChatGPT जैसा टाइपराइटर प्रभाव
  • उपयोगकर्ता अनुभव बेहतर बनाता है

स्ट्रीमिंग आउटपुट सक्षम करें

अनुरोध में "stream": true सेट करें

from openai import OpenAI

client = OpenAI(
    api_key="sk-xxx",
    base_url="https://api.onemux.net/v1"
)

response = client.chat.completions.create(
    model="gpt-6.1-sol",
    messages=[{"role": "user", "content": "एक कविता लिखें"}],
    stream=True
)

for chunk in response:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

SSE प्रतिक्रिया फ़ॉर्मेट

स्ट्रीमिंग प्रतिक्रिया Server-Sent Events (SSE) फ़ॉर्मेट का उपयोग करती है। प्रत्येक डेटा ब्लॉक data: से शुरू होता है:

data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"तुम"}}]}

data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"ठीक"}}]}

data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"!"}}]}

data: [DONE]