𝗗𝗲𝗯𝘂𝗴𝗴𝗶𝗻𝗴 𝗔𝗜 𝗦𝘁𝗿𝗲𝗮𝗺𝗶𝗻𝗴: 𝗖𝗵𝘂𝗻𝗸𝘀 𝗮𝗻𝗱 𝗧𝗶𝗺𝗲𝗼𝘂𝘁𝘀
నేను ఒక AI చాట్ ఇంటర్ఫేస్ను రూపొందించాను. నాకు పదం పదం వారీగా స్పందనలు కావాలనుకున్నాను. అది విఫలమైంది. స్పందనలు పదం మధ్యలోనే ఆగిపోతున్నాయి.
నేను టైమౌట్ను పెంచాను. అది పని చేయలేదు. నేను రిట్రై లూప్లను ప్రయత్నించాను. దీనివల్ల పదాలు డూప్లికేట్ అయ్యాయి. నేను బఫరింగ్ను ప్రయత్నించాను. దీనివల్ల యాప్ నెమ్మదించింది.
దీనికి కారణం పార్సింగ్ ఎర్రర్. API, JSON-LD లైన్లను పంపుతుంది. స్ట్రీమ్ ముగియకముందే నా కోడ్ ఆగిపోయింది. అది ఎండ్ సిగ్నల్ను విస్మరించింది.
పరిష్కారం:
- లైన్లకు బదులుగా బైట్లను ఉపయోగించండి.
- బఫర్ను మాన్యువల్గా నిర్వహించండి.
- [DONE] సిగ్నల్ కోసం వెతకండి.
- కనెక్షన్ను ఓపెన్గా ఉంచండి.
ఆ తర్వాత ఫ్రంటెండ్ ఫ్రీజ్ అయిపోయింది. React చాలా వేగంగా అప్డేట్ అయ్యింది. దీనిని సరిచేయడానికి నేను సర్వర్ను త్రోటిల్ చేశాను.
మీ కోసం చిట్కాలు:
- స్ట్రీమింగ్ స్పెసిఫికేషన్ను చదవండి.
- స్పష్టమైన ఎండ్ ఈవెంట్ను కనుగొనండి.
- SSE లైబ్రరీలను ఉపయోగించండి.
- మీ డేటాను ట్రాక్ చేయండి.
స్ట్రీమ్ సజావుగా ముగుస్తుందని ఎప్పుడూ నమ్మకండి.
మీ వింతైన స్ట్రీమింగ్ బగ్ ఏమిటి?
మూలం: https://dev.to/__c1b9e06dc90a7e0a676b/debugging-ai-streaming-a-tale-of-chunks-and-timeouts-1p6m