𝗗𝗲𝗯𝘂𝗴𝗴𝗶𝗻𝗴 𝗔𝗜 𝗦𝘁𝗿𝗲𝗮𝗺𝗶𝗻𝗴: 𝗖𝗵𝘂𝗻𝗸𝘀 𝗮𝗻𝗱 𝗧𝗶𝗺𝗲𝗼𝘂𝘁𝘀

আমি একটি AI চ্যাট ইন্টারফেস তৈরি করেছি। আমি শব্দে শব্দে রেসপন্স চেয়েছিলাম। এটি ব্যর্থ হয়েছে। রেসপন্সগুলো শব্দের মাঝপথেই কেটে যাচ্ছিল।

আমি টাইমআউট বাড়িয়ে দিয়েছিলাম। এতে কোনো কাজ হয়নি। আমি রিট্রাই লুপ (retry loops) চেষ্টা করেছি। এর ফলে শব্দগুলো ডুপ্লিকেট হচ্ছিল। আমি বাফারিং (buffering) চেষ্টা করেছি। এতে অ্যাপটি স্লো হয়ে গিয়েছিল।

এর কারণ ছিল একটি parsing error। API থেকে JSON-LD লাইন পাঠানো হয়। স্ট্রীম শেষ হওয়ার আগেই আমার কোড থেমে যাচ্ছিল। এটি end signal উপেক্ষা করছিল।

সমাধান:

  • লাইনের পরিবর্তে bytes ব্যবহার করুন।
  • বাফার ম্যানুয়ালি ম্যানেজ করুন।
  • [DONE] সিগন্যালের জন্য খুঁজুন।
  • কানেকশনটি খোলা রাখুন।

তারপর ফ্রন্টএন্ড ফ্রিজ হয়ে গেল। React খুব দ্রুত আপডেট হচ্ছিল। এটি ঠিক করতে আমি সার্ভার থ্রটল (throttle) করেছি।

আপনার জন্য কিছু টিপস:

  • স্ট্রিমিং স্পেক (streaming spec) পড়ুন।
  • সুনির্দিষ্ট end event খুঁজে বের করুন।
  • SSE লাইব্রেরি ব্যবহার করুন।
  • আপনার ডেটা ট্র্যাক করুন।

একটি স্ট্রীম সুন্দরভাবে শেষ হবে বলে কখনোই নিশ্চিত থাকবেন না।

আপনার দেখা অদ্ভুততম স্ট্রিমিং বাগ (bug) কোনটি?

Source: https://dev.to/__c1b9e06dc90a7e0a676b/debugging-ai-streaming-a-tale-of-chunks-and-timeouts-1p6m