A integração da API de streaming do ChatGPT com código personalizado é um desafio em Flutter Flow. Em um vídeo recente, um palestrante explicou como superar os obstáculos para alcançar o efeito de streaming semelhante ao aplicativo original do ChatGPT.

O papel do parâmetro “stream”

Para ativar o efeito de streaming, é necessário definir o parâmetro “stream” como “true”. No entanto, ao usar a característica de API do Flutter Flow, essa configuração retorna dados nulos. Isso ocorre porque a API do ChatGPT retorna uma corrente de respostas usando Eventos de Enviados pelo Servidor (SSE), que é um modo de obter atualizações em tempo real do servidor para o cliente. A resposta não é um único objeto JSON, mas sim múltiplas respostas embrulhadas em um wrapper “data”.

Como lidar com a resposta da API

Para lidar com a resposta da API, é necessário criar uma classe Dart para mapear a estrutura JSON. Além disso, é importante preparar o pedido, incluindo a definição da URL, cabeçalhos e corpo, e enviar o pedido com o método POST. Em seguida, é preciso ouvir eventos e decodificar os dados de resposta, convertendo bytes brutos em uma string UTF-8.

Passos para trabalhar com dados de streaming

Para trabalhar com dados de streaming em um aplicativo ChatGPT em Flutter Flow, são necessários os seguintes passos:

1. Adicione uma mensagem de chat Dummy ao histórico de conversa.
2. Analise os dados JSON recebidos da API e converta-os em um objeto Dart.
3. Realize verificações de nulos para garantir a presença de dados “choices”, “delta” e “content”.
4. Atualize o histórico de conversa com o conteúdo extraído da resposta.
5. Chame a ação de callback para atualizar o estado da UI e rolar até o final da lista.
6. Converta a lista de histórico de conversa em um mapa JSON e passe-o para a ação da API.

Essa solução é um workaround temporário até que o Flutter Flow native suporte dados de streaming.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *