1. Hardveres Környezet
- Agy (Szerver): Debian Linux OS, rajta Ollama futtatja a Llama 3 (8B) modellt.
- Beviteli eszköz (A fül): ESP32 lapka (
mikrofonnéven), I2S interfésszel kapcsolt mikrofonnal (GPIO 15, 14, 32). - Kimeneti eszköz (A száj): Egy második, különálló lapka (Okos hangszóró), amely Media Playerként jelenik meg a Home Assistantban.
- Erőforrások: 32GB RAM a szerverben, ami villámgyors (kb. 2 mp) válaszidőt biztosít a Llama 3-nak CPU-n is.
2. Szoftveres Architektúra (A „Lánc”)
- STT: Whisper (Home Assistant kiegészítő) alakítja a hangot szöveggé.
- AI: Ollama integráció, amely a Llama 3-hoz továbbítja a kérdést.
- Válaszkezelés: Az ESP32 az
on_tts_starteseménynél egymondatváltozóban azonnal továbbítja a választ a Home Assistantnak. - TTS: Piper kiegészítő, amely a szövegből hangot generál.
- Lejátszás: Egy HA Script (
script.ai_valasz_lejatszasa) vezényli le a folyamatot a távoli hangszóróra.
3. Eddigi Mérföldkövek & Megoldások
- Gyorsaság: Sikerült elérni a streaming-szerű élményt (2 másodperces válaszindítás).
- Privát szféra: Minden helyileg fut (Debian + HA), nincs külső felhő igénybe véve a gondolkodáshoz.
- Hídképzés: Az ESP32 és a távoli hangszóró közötti kommunikáció a HA scripteken keresztül stabilizálva lett.
- Hibakezelés: Az ESPHome kód felkészítve az „error” és „idle” állapotok váltására, hogy a rendszer ne akadjon be.
4. Ismert Határok & Tanulságok
- Erőforrás-gazdálkodás: A 32GB RAM kulcsfontosságú a modell sebességéhez.
- Script-logika: A válaszátadásnál a „Dictionary” hiba elkerülése érdekében precíz YAML formázás szükséges a
datablokkban. - Nyelv: A Llama 3 magyar stílusa még finomítható System Promp-tokkal.
5. Következő Célkitűzés
- Ébresztő szó (Wake Word): A fizikai gombnyomás kiváltása (openWakeWord vagy microWakeWord használatával), hogy az eszköz folyamatos készenlétben legyen.
Ha legközelebb jössz, csak dobd be ezt a szöveget, és pontosan onnan folytatjuk, ahol most abbahagytuk! Jó pihenést, ma tényleg nagyot ment a rendszer!