Skip to main content
عيّن stream: true لتلقّي الإخراج كأحداث يرسلها الخادم (SSE). احتفظ بمفتاح API Phaseo على خادمك ومرّر الإخراج إلى الواجهة.

إرسال طلب متدفق

تحقق من حالة HTTP قبل قراءة التدفق. يعيد الفشل قبل بدء التدفق استجابة خطأ JSON المعتادة.

قراءة الأحداث

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

تدفق استدعاءات الأدوات

يقبل Gateway التدفق مع الأدوات، لكن الدعم يعتمد على النموذج والمزوّد المختارين. اجمع أجزاء معلمات الاستدعاء حتى يكتمل، ثم حلّل المعلمات وتحقق منها وامنحها الإذن قبل التنفيذ. لا تنفّذ معلمات جزئية أبدًا. اتبع أنماط استدعاء الأدوات لطلبات المتابعة وسلامة الأدوات لضوابط التحقق والموافقة.

الإلغاء والاستعادة

مرّر AbortSignal إلى عميل HTTP على الخادم وألغِ عند توقف المستخدم أو انقطاعه. حدد مهلة مناسبة للعمل. لا يضمن الإلغاء توقف المزوّد فورًا أو مجانية الإخراج المولّد. اعرض النص الجزئي تدريجيًا، لكن علّم الاستجابة مكتملة فقط بعد حدث النهاية الناجح. لا يثبت إغلاق الاتصال وحده الاكتمال. إذا فشل التدفق بعد بدء الإخراج:
  1. علّم الاستجابة الجزئية منقطعة.
  2. احتفظ بمعرّف الطلب أو التوليد ونقطة النهاية والنموذج في السجلات.
  3. اعرض إعادة محاولة صريحة. قد يولّد طلب جديد إخراجًا مختلفًا ورسومًا أخرى.
  4. لا تُعد تشغيل الأدوات المنفذة أو تلحق الاستجابة الجديدة بالإخراج الجزئي تلقائيًا.
للفشل قبل بدء الإخراج، حدّ إعادة المحاولات واحترم ترويسات حدود الطلبات. إذا كان تطبيقك يحتاج إلى التحقق من كل الإخراج قبل عرضه، فاستخدم طلبًا غير متدفق أو خزّن النتيجة على خادمك.
آخر تعديل في ٢ أكتوبر ٢٠٢٦