𝗘𝘂 𝘁𝗲𝗻𝘁𝗲𝗶 𝗮𝗱𝗶𝗰𝗶𝗼𝗻𝗮𝗿 𝗰𝗵𝗮𝘁 𝗱𝗲 𝗜𝗔 𝗮𝗼 𝗺𝗲𝘂 𝗮𝗽𝗽 𝗲 𝗯𝗮𝘁𝗶 𝗲𝗺 𝘂𝗺 𝗺𝘂𝗿𝗼

Tentei adicionar um assistente de chat de IA à minha ferramenta de gerenciamento de projetos. Achei que seria fácil. Planejei enviar todo o histórico do chat para uma API.

Falhou.

Após 15 mensagens, as respostas tornaram-se lentas ou apresentaram erros. A API retornou erros porque o texto era longo demais para o limite de tokens.

Aqui está o que eu tentei e o que funcionou.

Os problemas que enfrentei:

  • Truncar o histórico: Mantive apenas as últimas mensagens. Isso resolveu a velocidade, mas a IA esqueceu tudo o que aconteceu no início do chat.
  • Sumarização: Pedi à IA para resumir o chat a cada 5 mensagens. Isso ajudou na memória, mas aumentou meus custos e tempos de espera.
  • Vector stores: Tentei pontuar as mensagens por relevância. Isso adicionou complexidade demais para as minhas necessidades.

A solução:

Parei de tentar enviar tudo. Usei dois métodos principais para corrigir a experiência.

  1. Streaming: Usei Server-Sent Events para mostrar o texto conforme ele é gerado. Isso faz com que o app pareça rápido, mesmo que a IA leve um tempo para pensar.

  2. Uma janela de contexto de três slots: Dividi meu orçamento de tokens em partes específicas.

  • System Prompt: 500 tokens. Este permanece constante.
  • Contexto dinâmico: 2000 tokens. Este contém atualizações recentes do projeto e estados das tarefas.
  • Histórico de conversa: 4000 tokens. Esta é uma janela deslizante de mensagens recentes.

Ao gerenciar o orçamento dessa forma, reduzi o tamanho do meu payload em 40%. Isso economizou dinheiro e diminuiu a latência.

Meu conselho:

Adicionar IA não é apenas chamar uma API. Você deve gerenciar a quantidade de dados que envia. O streaming melhora a percepção de velocidade do usuário. Uma estratégia de contexto inteligente melhora a percepção de inteligência da IA.

Como você gerencia a memória de conversação em seus apps? Você usa janelas deslizantes ou sumarização?

Fonte: https://dev.to/__c1b9e06dc90a7e0a676b/i-tried-to-add-ai-chat-to-my-app-and-hit-a-wall-with-context-tokens-459b

Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi