AI اسٹریمنگ کی ڈیبگنگ: چنکس اور ٹائم آؤٹس
میں نے ایک AI چیٹ انٹرفیس بنایا۔ میں لفظ بہ لفظ جوابات چاہتا تھا۔ یہ ناکام رہا۔ جوابات لفظ کے درمیان میں ہی کٹ جاتے۔
میں نے ٹائم آؤٹ (timeout) بڑھا دیا۔ اس سے کوئی فائدہ نہیں ہوا۔ میں نے ری ٹرائی لوپس (retry loops) آزمائے۔ اس کی وجہ سے الفاظ دہرائے جانے لگے۔ میں نے بفنگ (buffering) کرنے کی کوشش کی۔ اس سے ایپ سست ہو گئی۔
وجہ ایک پارسنگ ایرر (parsing error) تھی۔ API، JSON-LD لائنیں بھیجتی ہے۔ میرا کوڈ اسٹریم ختم ہونے سے پہلے ہی رک گیا۔ اس نے اینڈ سگنل (end signal) کو نظر انداز کر دیا۔
حل:
- لائنوں کے بجائے بائٹس (bytes) کا استعمال کریں۔
- بفر (buffer) کو دستی طور پر مینیج کریں۔
- [DONE] سگنل تلاش کریں۔
- کنکشن کو کھلا رکھیں۔
پھر فرنٹ اینڈ (frontend) فریز ہو گیا۔ React بہت تیزی سے اپ ڈیٹ ہو رہا تھا۔ اسے ٹھیک کرنے کے لیے میں نے سرور کو تھروٹل (throttle) کیا۔
آپ کے لیے مشورے:
- اسٹریمنگ سپیک (streaming spec) کو پڑھیں۔
- واضح اینڈ ایونٹ (end event) تلاش کریں۔
- SSE لائبریریز کا استعمال کریں۔
- اپنے ڈیٹا کو ٹریک کریں۔
کبھی بھی اس بات پر بھروسہ نہ کریں کہ اسٹریم خود بخود صحیح طریقے سے ختم ہو جائے گا۔
آپ کا سب سے عجیب اسٹریمنگ بگ (bug) کون سا ہے؟
ماخذ: https://dev.to/__c1b9e06dc90a7e0a676b/debugging-ai-streaming-a-tale-of-chunks-and-timeouts-1p6m