stream: true لتلقّي الإخراج كأحداث يرسلها الخادم (SSE). احتفظ بمفتاح API Phaseo على خادمك ومرّر الإخراج إلى الواجهة.
إرسال طلب متدفق
قراءة الأحداث
استخدم تنسيق أحداث نقطة النهاية التي استدعيتها:
تُفصل أحداث SSE بأسطر فارغة. قد تحتوي قطعة شبكة على جزء من حدث أو عدة أحداث؛ فلا تحلل كل قطعة باعتبارها JSON مستقلًا. خزّن الإطارات غير المكتملة أو استخدم مساعد تدفق SDK. لا تفترض أن كل نقطة نهاية ترسل
[DONE].
تتولى مساعدات SDK نقل التدفق:
- TypeScript:
streamResponses(),streamChat(),streamMessages(). - Python:
stream_responses(),stream_chat(),stream_message(). - Vercel AI SDK:
streamText()مع@phaseo/ai-sdk-provider.
تدفق استدعاءات الأدوات
يقبل Gateway التدفق مع الأدوات، لكن الدعم يعتمد على النموذج والمزوّد المختارين. اجمع أجزاء معلمات الاستدعاء حتى يكتمل، ثم حلّل المعلمات وتحقق منها وامنحها الإذن قبل التنفيذ. لا تنفّذ معلمات جزئية أبدًا. اتبع أنماط استدعاء الأدوات لطلبات المتابعة وسلامة الأدوات لضوابط التحقق والموافقة.الإلغاء والاستعادة
مرّرAbortSignal إلى عميل HTTP على الخادم وألغِ عند توقف المستخدم أو انقطاعه. حدد مهلة مناسبة للعمل. لا يضمن الإلغاء توقف المزوّد فورًا أو مجانية الإخراج المولّد.
اعرض النص الجزئي تدريجيًا، لكن علّم الاستجابة مكتملة فقط بعد حدث النهاية الناجح. لا يثبت إغلاق الاتصال وحده الاكتمال.
إذا فشل التدفق بعد بدء الإخراج:
- علّم الاستجابة الجزئية منقطعة.
- احتفظ بمعرّف الطلب أو التوليد ونقطة النهاية والنموذج في السجلات.
- اعرض إعادة محاولة صريحة. قد يولّد طلب جديد إخراجًا مختلفًا ورسومًا أخرى.
- لا تُعد تشغيل الأدوات المنفذة أو تلحق الاستجابة الجديدة بالإخراج الجزئي تلقائيًا.