فتح بث SSE
فعّل stream: true وعطّل تجميع البيانات في مخزن مؤقت لدى العميل. يرسل الخادم أحداث البيانات مع توفر أجزاء الاستجابة.
عالج البث تدريجيًا: لا يلزم أن يحتوي الحدث الواحد على نص مكتمل أو استدعاء أداة كامل.
بث SSE
bash
curl --no-buffer --request POST https://cicora.ai/api/v1/chat/completions \
--header "Authorization: Bearer $CICORA_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "openai/gpt-5.6-sol",
"stream": true,
"stream_options": {"include_usage": true},
"messages": [{"role": "user", "content": "Write a three-line poem."}]
}'تجميع الدلتا
- اجمع النص حسب choice/index أو معرّف العنصر.
- اجمع وسائط الأداة كتدفق من أجزاء JSON وحللها بعد الاكتمال.
- عندما تكون المقاييس النهائية مهمة، فعّل صراحةً خيار usage المتاح في البث.
الإنهاء والإلغاء
لا تعتبر البث مكتملًا إلا بعد حدث نهائي. ويُعد إغلاق الاتصال من دونه مسار عطل مستقلًا.
اربط AbortController أو ما يعادله بتنقل المستخدم كي لا يبقى طلب غير مستخدم مفتوحًا.