За даними Letsdatascience, розробник Jithin Sanal опублікував детальний проєкт створення голосового асистента, який функціонує повністю офлайн на популярних одноплатниках Raspberry Pi. Основною особливістю архітектури є відсутність залежності від зовнішніх API, що дозволяє обробляти аудіодані та генерувати відповіді локально на пристрої.
Технічний стек та апаратне забезпечення
Для реалізації системи було використано операційну систему Raspberry Pi OS Bookworm 64-bit. Процес обробки запитів побудований як конвеєр: аудіосигнал з USB-мікрофона передається до моделі faster-whisper (версія tiny) для перетворення мовлення у текст. Отриманий транскрипт надсилається до локальної мови Google Gemma, яка працює через інструмент Ollama. Фінальний текстовий результат синтезується в аудіо за допомогою Piper TTS з використанням голосу en_US-lessac-high.
Апаратні вимоги залежать від обраної моделі LLM:
- Для роботи з моделлю gemma3:1b достатньо Raspberry Pi 4 з 2 ГБ оперативної пам'яті, оскільки вона займає близько 1.4 ГБ.
- Для використання потужнішої моделі gemma3:4b рекомендовано пристрої з 4 ГБ або більше оперативної пам'яті, оскільки модель потребує приблизно 3.2 ГБ.
- Оптимальним варіантом для швидшої роботи є Raspberry Pi 5 з 8 ГБ пам'яті.
Показники продуктивності та затримки
Автор проєкту надав конкретні бенчмарки кінцевої затримки (end-to-end latency) для різних конфігурацій. На Raspberry Pi 4 з 2 ГБ пам'яті та моделлю gemma3:1b час відповіді становить від 12 до 18 секунд. Використання більшої моделі gemma3:4b на такому ж пристрої збільшує затримку до 18-25 секунд. Найкращі результати продемонстрував Raspberry Pi 5 з 8 ГБ пам'яті, де час обробки запиту скоротився до 10-15 секунд.
Важливо зазначити, що для забезпечення швидшої взаємодії розробники можуть розглядати альтернативи з меншою кількістю параметрів, такі як llama3.2:1b або phi3.5:mini. Також передбачено можливість інтеграції OpenWakeWord для відстеження ключових слів без необхідності постійного натискання кнопки запиту. Подібний підхід до edge-AI демонструє ефективність комбінації локальних інференсних движків та оптимізованих моделей на ARM-архітектурі.