Разработчик Асьер Арранс опубликовал на Hugging Face Blog пошаговое руководство по запуску голосового ИИ-ассистента с поддержкой зрения на одноплатном компьютере NVIDIA Jetson Orin Nano Super стоимостью около 250 долларов. Устройство оснащено 8 ГБ оперативной памяти и GPU архитектуры Ampere — достаточно, чтобы запустить квантизованную версию Gemma 4 с параметрами Q4_K_M без обращения к облачным сервисам.
Система устроена следующим образом: пользователь нажимает пробел, произносит вопрос и отпускает клавишу. Локальная модель распознавания речи Parakeet STT переводит аудио в текст. Затем Gemma 4 получает этот текст вместе с описанием единственного доступного инструмента — look_and_answer, который делает снимок с веб-камеры и передаёт его модели. Если вопрос требует визуального контекста («что лежит на столе?», «какой это разъём?»), модель сама вызывает инструмент, анализирует кадр и отвечает с учётом увиденного. Если вопрос чисто текстовый — камера не задействуется вовсе. Ответ озвучивает синтезатор Kokoro TTS с несколькими вариантами голосов.
| Variable | Default | Description |
|---|---|---|
| LLAMA_URL | http://127.0.0.1:8080/v1/chat/completions | llama-server endpoint |
| MIC_DEVICE | plughw:3,0 | ALSA capture device |
| SPK_DEVICE | alsa_output.usb-...analog-stereo | PulseAudio sink for playback |
| WEBCAM | 0 | Webcam index (/dev/videoN) |
| VOICE | af_jessica | Kokoro TTS voice |
Подобный подход называется VLA — Vision-Language-Action. Ключевое отличие от простых чат-ботов с камерой в том, что решение об активации зрения принимает сама модель на основе контекста, а не разработчик через ключевые слова или жёсткие условия в коде. Это делает систему более гибкой: один и тот же вопрос «что это?» может потребовать камеры или не потребовать — в зависимости от предыдущего диалога.
Для распознавания речи используется Parakeet STT, для синтеза — Kokoro TTS; оба работают локально.
Технически стек строится на llama.cpp, скомпилированном нативно под архитектуру CUDA 8.7 (Jetson Orin). Модель загружается в формате GGUF — сжатом формате весов, который llama.cpp умеет исполнять напрямую, без конвертации. Отдельно скачивается vision projector (mmproj-файл) — небольшая нейросеть, которая переводит изображение с камеры в токены, понятные языковой модели. Без этого файла Gemma 4 работает только с текстом. Сервер llama-server запускается с флагом -ngl 99, что означает загрузку всех слоёв модели на GPU; при нехватке памяти это число можно снизить, частично переложив вычисления на CPU.
Для стабильной работы на 8 ГБ авторы рекомендуют добавить 8 ГБ swap-раздела — не для ускорения инференса, а как страховку от OOM-ошибки при загрузке модели. Дополнительно стоит остановить Docker, фоновые трекеры файловой системы и закрыть браузер. Квантизация Q4_K_M при таких условиях работает комфортно; Q3_K_M — запасной вариант, если память всё равно в дефиците.
Jetson Orin Nano Super — не единственная платформа, где подобное возможно, но одна из самых доступных с аппаратным ускорением CUDA. Конкуренты в этом сегменте — Raspberry Pi 5 с ускорителем Hailo и Orange Pi с NPU, однако они либо не поддерживают CUDA-экосистему llama.cpp напрямую, либо ограничены более простыми моделями. Gemma 4 в варианте E2B (2 миллиарда параметров) — компактная модель Google, специально оптимизированная для работы на устройствах с ограниченными ресурсами.

