Construindo um assistente de voz LLM totalmente local para controlar minha casa inteligente
Um projeto detalhado para construir um assistente de voz totalmente local, com temática de GLaDOS, para o Home Assistant desperta interesse mais amplo em casas inteligentes que preservam a privacidade e não dependem da nuvem. Comentadores comparam modelos locais como Mixtral, Mistral e TinyLlama ao GPT‑4, avaliando necessidades de hardware, latência, quantização e escolhas de GPU em contraste com a conveniência das APIs na nuvem. Grande parte da discussão gira em torno de como permitir que LLMs controlem dispositivos reais com segurança — usando gramáticas restritas, interfaces no estilo function calling e controles de acesso rigorosos — enquanto o roadmap do Home Assistant sugere suporte futuro integrado para automação local com LLM e APIs padronizadas.
Recepção do projeto e construções semelhantes
- Muitos comentaristas estão construindo assistentes de voz locais comparáveis, muitas vezes com o Home Assistant como hub.
- Alguns usam apenas modelos locais; outros prototipam primeiro com APIs da OpenAI/Mistral e depois tentam migrar para local.
- Várias pessoas compartilham pequenos wrappers ou bibliotecas para simplificar function calling e a integração com Python ou Home Assistant.
Hardware, desempenho e quantização
- Forte ênfase no uso de GPUs: o principal gargalo é o tempo até o primeiro token, especialmente com prompts grandes que incluem o estado completo da casa.
- GPUs de faixa intermediária (por exemplo, placas de consumo de 16 GB) são vistas como boas em VRAM por dólar e com menor consumo de energia do que placas usadas de datacenter, que podem sobrecarregar fontes e UPSes.
- Quantização em 4 bits (GPTQ, AWQ) é comumente usada; pessoas relatam ~17 tok/s em modelos do tipo Mixtral como “utilizável, mas não rápido”.
- Alguns executam modelos de 7B–20B em GPUs de 8–12 GB ou até mesmo só na CPU para experimentação.
Comportamento do modelo, gramáticas e saída estruturada
- Vários comentários sugerem usar gramáticas (GBNF/BNF no llama.cpp) ou bibliotecas que restringem a saída a JSON válido, em vez de depender apenas de formatação no prompt.
- Há discussão sobre se o fato de o Mixtral não ter system prompts o torna mais vulnerável a prompt injection; alguns sugerem variantes ajustadas ou outros modelos com melhor suporte a “system”.
- Debate sobre a capacidade de modelos de ~7B: alguns os consideram próximos do GPT‑4 em tarefas restritas; outros os chamam de pouco confiáveis para automação complexa e estruturada.
Integração com Home Assistant e direção futura
- O projeto Home Assistant pretende lançar funcionalidades baseadas em LLM, mas quer:
- Uma API local de LLM mais rica e padronizada (além de apenas “copiar a OpenAI”).
- Function calling robusto ou gramáticas restritas para que ações em JSON sejam sempre diretamente seguras para execução.
- Ideias: manuais em linguagem natural para o comportamento da casa, automações sugeridas por IA a partir do histórico e alternância com um clique entre modelos locais via add-ons.
- Preocupações foram levantadas sobre requisitos de hardware; outros observam que o HA é modular e que LLMs/STT/TTS podem rodar em máquinas separadas, mais potentes.
Segurança, proteção e rede
- Vários comentaristas se preocupam com LLMs controlando dispositivos físicos (fornos, fechaduras, portas). Mitigações sugeridas:
- Verificações de segurança hard-coded nas saídas.
- Limitar quais serviços/entidades o LLM pode chamar.
- Controles no estilo ACL/RBAC, às vezes via APIs não documentadas do HA.
- Alguns temem modelos maliciosos ou “adormecidos”; outros argumentam que o risco real é a exposição geral de IoT, não LLMs especificamente.
- Expor o Home Assistant diretamente à internet é controverso; alguns o fazem atrás de WAFs/VLANs, mas a maioria prefere VPN/WireGuard.
Pipeline de voz e UX
- Latência é uma preocupação recorrente: 8+ segundos do discurso até a primeira resposta são amplamente considerados marginais.
- Sugestões:
- Regras de gramática/intenção no front-end para comandos simples.
- Cache de falas frequentes e até do áudio de TTS.
- Respostas iniciais de “um momento” e streaming da resposta para o TTS.
- Palavra de ativação e qualidade do microfone continuam sendo problemas práticos; dispositivos ESP32-S3 com modelos de wake-word e microfones I2S são experimentos populares.