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

મેં એક AI ચેટ ઇન્ટરફેસ બનાવ્યો. મારે શબ્દ-દર-શબ્દ પ્રતિસાદ જોઈતા હતા. તે નિષ્ફળ ગયું. પ્રતિસાદ શબ્દની વચ્ચે જ કપાઈ જતા હતા.

મેં ટાઈમઆઉટ વધાર્યું. તેનાથી કોઈ ફરક પડ્યો નહીં. મેં રિટ્રાય લૂપ્સ (retry loops) અજમાવ્યા. આના કારણે શબ્દોનું પુનરાવર્તન થવા લાગ્યું. મેં બફરિંગ (buffering) કરવાનો પ્રયાસ કર્યો. આનાથી એપ ધીમી પડી ગઈ.

તેનું કારણ પાર્સિંગ એરર (parsing error) હતું. API JSON-LD લાઇન્સ મોકલે છે. સ્ટ્રીમ પૂરી થાય તે પહેલાં જ મારો કોડ અટકી ગયો હતો. તેણે એન્ડ સિગ્નલ (end signal) ને અવગણ્યું હતું.

ઉકેલ:

  • લાઇન્સને બદલે બાઇટ્સ (bytes) નો ઉપયોગ કરો.
  • બફરને મેન્યુઅલી મેનેજ કરો.
  • [DONE] સિગ્નલ શોધો.
  • કનેક્શન ખુલ્લું રાખો.

પછી ફ્રન્ટએન્ડ (frontend) ફ્રીઝ થઈ ગયું. React ખૂબ ઝડપથી અપડેટ થતું હતું. આને ઠીક કરવા માટે મેં સર્વરને થ્રોટલ (throttle) કર્યું.

તમારા માટે ટિપ્સ:

  • સ્ટ્રીમિંગ સ્પેક (spec) વાંચો.
  • સ્પષ્ટ એન્ડ ઇવેન્ટ (end event) શોધો.
  • SSE લાઇબ્રેરીઓનો ઉપયોગ કરો.
  • તમારા ડેટાને ટ્રેક કરો.

સ્ટ્રીમ આપમેળે યોગ્ય રીતે પૂરી થશે તેની ક્યારેય ખાતરી ન કરો.

તમારો સૌથી વિચિત્ર સ્ટ્રીમિંગ બગ (bug) કયો છે?

સ્ત્રોત: https://dev.to/__c1b9e06dc90a7e0a676b/debugging-ai-streaming-a-tale-of-chunks-and-timeouts-1p6m