Files

40 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Conversa e memória local — 2026-10-05
## Correção de repetição — 2026-10-05
### Segunda ocorrência: troca de assunto
A sequência céu azul → “está bravo?” continuou repetindo mesmo após a primeira correção. O contexto atual foi reduzido à pergunta atual e às lembranças explícitas (até 550 caracteres); as respostas anteriores permanecem no histórico exibido, mas não são reenviadas ao modelo. Isso limita referências como “explique sua resposta anterior”, portanto não equivale a uma conversa com contexto completo.
Teste real da sequência no servidor após a mudança: céu → resposta sobre atmosfera (2,81 s); “está bravo?” → “Bravo! Como você está?” (1,14 s); música → “Sim, posso ouvir música para você” (1,61 s). A repetição exata desapareceu nesta sequência, mas o modelo ainda interpretou bravo como elogio e inventou uma capacidade de música. Não considerar esses testes como prova de inteligência conversacional adequada. Seis testes unitários passaram, incluindo a ausência de respostas anteriores no payload. Para melhorar a compreensão, é necessário avaliar outro modelo com perguntas de aceitação, não continuar somente ajustando saudações.
O modelo acertou uma pergunta aritmética sem histórico, mas repetia saudações quando recebia as respostas defeituosas anteriores. A migração acrescenta mensagens.versao: entradas antigas permanecem visíveis, mas não entram no contexto; novas entradas usam versão 1. Backup no Orange Pi em backup-conversa-20261005/memoria-antes-correcao.db. Lembranças preservadas. Contexto mais direto, temperatura 0,2 e proteção contra chamar o usuário pelo nome do personagem. Perguntas diretas de horário usam relógio do servidor em UTC−3 (São Paulo), sem inferência.
Verificação real após correção: saudação “Bom dia!”, conta “2 + 3 = 5”, nome “Carinha”, horário do servidor e resposta relacionada à pergunta sobre o céu. O modelo ainda deu uma explicação incompleta sobre o céu: esta correção remove a repetição observada, não aumenta a capacidade do Qwen0.6B. Tempos das respostas geradas 3,7–7,8 s; horário imediato no backend. Cinco testes de conversa, um do cérebro e 12 HTTP passaram. Não foi necessário trocar APK ou modelo.
Design aprovado: texto pelo painel, respostas curtas animadas no celular e memória no Orange Pi. Implementação no fluxo existente; sem reconhecimento novo de gestos ou controle de motores.
## Uso
Abra /painel, escreva em Conversar com o Carinha e clique Enviar. A resposta aparece no histórico e no celular com escrita animada, acompanhada de uma expressão existente. O app deve estar conectado; respostas com mais de 60 segundos não são reapresentadas ao reconectar.
Em Lembranças do Carinha, salve fatos e preferências explicitamente. Há até 30 lembranças de 300 caracteres. Cada uma pode ser apagada; apagar tudo também remove o histórico. O histórico persistente conserva até 100 mensagens; as últimas 12 são enviadas ao modelo. O modelo continua Qwen3-0.6B Q4_K_M no celular; memória não é treinamento de pesos.
## Estrutura e verificação
conversa.py usa SQLite memoria.db no Orange Pi. Respostas JSON restritas a texto de até 280 caracteres e uma expressão permitida. Texto renderizado por textContent. Uma inferência por vez, compartilhada com a personalidade automática; erros aparecem no painel. Não há envio de comando a motores. Limpeza invalida resposta em andamento.
Plano executado: testes de persistência/remoção/validação; módulo de conversa; rotas e integração de exclusão mútua; painel e balão; deploy preservando configurações; teste real de inferência e navegador.
Limitações: modelo pequeno pode errar fatos ou não respeitar perfeitamente preferências; não há fala, auto treinamento, identificação de joinha nem confirmação física de exibição. O endpoint de status não confirma leitura pelo aparelho.
Validação: 3 testes de memória/validação e 12 testes HTTP existentes passaram. Navegador verificou envio, memória e balão com respostas simuladas; teste real no S10 gerou resposta em 4,11 s. Contexto limitado para caber no executor de 1024 tokens: lembranças relevantes até 550 caracteres e turnos recentes até 750 caracteres. Não há garantia de lembrar todos os fatos simultaneamente.
Teste real de recuperação: após ajustar o prompt, uma lembrança temporária com o nome Jullio foi recuperada em 9,49 s. O modelo ainda confundiu o pronome (respondeu na primeira pessoa); a memória é contexto, não garantia de resposta correta. A lembrança temporária foi apagada; mensagens de teste permanecem no histórico. Reabra o app para carregar o HTML atualizado; não requer APK novo enquanto conectado ao servidor.
## Aba Conversar — 2026-10-05
Conversa movida para /conversa, acessível pela navegação em todas as abas. O painel principal mantém câmera e configuração. Rotas da API, histórico, provedor e lembranças permanecem os mesmos.
## Recarregar tela pelo painel
Botao Recarregar tela do celular envia comando pela fila, exclusivo para carinha.html?aparelho=1. O HTML usa location.replace com parametro de atualizacao; nao fecha a atividade nem reinstala APK. Servidor recusa quando telemetria esta offline. Solicitar nao confirma que a tela foi atualizada. A primeira adocao exige reabrir o app uma vez para receber o handler; depois o botao funciona enquanto app aberto e conectado. Teste de navegador confirmou recarregamento sem ciclo infinito.