𝗗𝗲𝗯𝘂𝗴𝗴𝗶𝗻𝗴 𝗱𝗲 𝗦𝘁𝗿𝗲𝗮𝗺𝗶𝗻𝗴 𝗱𝗲 𝗜𝗔: 𝗖𝗵𝘂𝗻𝗸𝘀 𝘆 𝗧𝗶𝗺𝗲𝗼𝘂𝘁𝘀
Construí una interfaz de chat de IA. Quería respuestas palabra por palabra. Falló. Las respuestas se cortaban a mitad de palabra.
Aumenté el timeout. No funcionó. Intenté usar bucles de reintento. Esto causó palabras duplicadas. Intenté usar buffering. Esto hizo que la aplicación fuera lenta.
La causa fue un error de parsing. La API envía líneas JSON-LD. Mi código se detenía antes de que el stream terminara. Ignoraba la señal de finalización.
La solución:
- Usar bytes en lugar de líneas.
- Gestionar el buffer manualmente.
- Buscar la señal [DONE].
- Mantener la conexión abierta.
Luego, el frontend se congeló. React se actualizaba demasiado rápido. Apliqué un throttle al servidor para solucionar esto.
Consejos para ti:
- Lee la especificación de streaming.
- Encuentra el evento de finalización explícito.
- Usa librerías SSE.
- Rastrea tus datos.
Nunca confíes en que un stream termine de forma elegante.
¿Cuál es tu bug de streaming más extraño?
Fuente: https://dev.to/__c1b9e06dc90a7e0a676b/debugging-ai-streaming-a-tale-of-chunks-and-timeouts-1p6m