البث
أضف stream: true ليصلك الرد قطعةً قطعة بدل انتظاره كاملاً، فيرى المستخدم أول كلمة خلال لحظات.
بث المحادثة
stream = client.chat.completions.create( model="optes-1.0-mini", messages=[{"role": "user", "content": "احكِ لي قصة قصيرة عن بغداد"}], stream=True,)for chunk in stream: print(chunk.choices[0].delta.content or "", end="", flush=True)const stream = await client.chat.completions.create({ model: "optes-1.0-mini", messages: [{ role: "user", content: "احكِ لي قصة قصيرة عن بغداد" }], stream: true,});for await (const chunk of stream) { process.stdout.write(chunk.choices[0]?.delta?.content ?? "");}curl https://api.optes3.com/v1/chat/completions \ -H "Authorization: Bearer $OPTES_API_KEY" \ -H "Content-Type: application/json" \ -N -d '{"model": "optes-1.0-mini", "stream": true, "messages": [{"role": "user", "content": "احكِ لي قصة قصيرة عن بغداد"}]}'شكل الأحداث
يصل البث بصيغة Server-Sent Events: سطر data: لكل قطعة، وفيه كائن chat.completion.chunk، ثم data: [DONE] في النهاية.
text/event-stream
data: {"id":"chatcmpl_8Qe1","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"كان"}}]}data: {"id":"chatcmpl_8Qe1","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" يا ما كان"}}]}data: {"id":"chatcmpl_8Qe1","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}data: [DONE]نصائح
- واجهة الردود تبث أيضاً مع
stream: true، وتصل أحداثها بأنواع مسمّاة. - إذا انقطع الاتصال في منتصف البث، أعد الطلب كاملاً؛ ما وصل من رموز يُحسب.
- لإظهار الرد في المتصفح، ابثّه من خادمك إلى الصفحة، ولا تضع المفتاح في المتصفح.
الأسعار بالدولار الأمريكي، وهي أوّلية حتى الإطلاق. الواجهة البرمجية والتسجيل والمفاتيح تُفتح يوم الإطلاق.