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

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