𝗗𝗲𝗯𝘂𝗴𝗴𝗶𝗻𝗴 𝗔𝗜 𝗦𝘁𝗿𝗲𝗮𝗺𝗶𝗻𝗴: 𝗖𝗵𝘂𝗻𝗸𝘀 𝗮𝗻𝗱 𝗧𝗶𝗺𝗲𝗼𝘂𝘁𝘀
Eu construí uma interface de chat de IA. Eu queria respostas palavra por palavra. Falhou. As respostas eram cortadas no meio de uma palavra.
Eu aumentei o timeout. Não funcionou. Tentei loops de retry. Isso causou palavras duplicadas. Tentei fazer buffering. Isso deixou o app lento.
A causa foi um erro de parsing. A API envia linhas JSON-LD. Meu código parava antes do stream terminar. Ele ignorava o sinal de término.
A solução:
- Usar bytes em vez de linhas.
- Gerenciar o buffer manualmente.
- Procurar pelo sinal [DONE].
- Manter a conexão aberta.
Depois, o frontend travou. O React atualizava rápido demais. Eu apliquei um throttle no servidor para corrigir isso.
Dicas para você:
- Leia a especificação de streaming.
- Encontre o evento de término explícito.
- Use bibliotecas SSE.
- Monitore seus dados.
Nunca confie que um stream terminará de forma graciosa.
Qual é o seu bug de streaming mais estranho?
Fonte: https://dev.to/__c1b9e06dc90a7e0a676b/debugging-ai-streaming-a-tale-of-chunks-and-timeouts-1p6m