نمایش تدریجی پاسخ پیکو در رابط چت
ساخت رابط استریم با SSE، مدیریت قطعههای ناقص و ثبت مصرف پس از پایان پاسخ.
در یک صفحهٔ چت، نمایش اولین چند کلمه معمولاً بهتر از انتظار برای کل پاسخ است. با stream: true در مسیر چت پیکو، متن به شکل رویدادهای SSE میرسد. هر قطعهٔ شبکه میتواند شامل چند رویداد یا نصف یک رویداد باشد.
رویداد را کامل بخوانید
در بکاند از خوانندهٔ SSE یا SDK سازگار استفاده کنید. اگر خودتان جریان را میخوانید، متن قطعهها را در بافر نگه دارید تا خط کامل شود. برای پاسخ OpenAI-compatible، فیلد choices[0].delta.content در رویدادهای متنی به پاسخ اضافه میشود. اگر بسته فقط آمار مصرف داشت، آن را جدا ثبت کنید. [DONE] پایان جریان را اعلام میکند.
{
"stream": true,
"stream_options": { "include_usage": true }
}این قطعه به بدنهٔ معمول چت اضافه میشود. شناسهٔ مدل و پیامها را همچنان بفرستید.
قطع و ادامه را در رابط طراحی کنید
دکمهٔ توقف باید ارتباط با بکاند شما را ببندد و بکاند نیز خواندن جریان بالادست را لغو کند. متن دریافتشده را با وضعیت «پاسخ ناقص» نگه دارید. اگر کاربر دوباره خواست ادامه بدهد، تصمیم بگیرید یک درخواست تازه با زمینهٔ مناسب بسازید یا به او اجازهٔ ارسال مجدد بدهید. قطع ارتباط به معنی صفر بودن مصرف نیست.
در محیط تست، یک پاسخ کوتاه موفق و یک پاسخ عمداً قطعشده داشته باشید. بررسی کنید رابط روی «در حال دریافت» نماند و نتیجهٔ مصرف، اگر ثبت شده، در داشبورد قابل پیگیری باشد.
- SSE
- استریم
- چت