Я превратил свой видеозвонок в говорящего ИИ-ассистента — и раскрыл, какой будет будущее «умных» камер!

A Reolink Video Doorbell on a front door.

У некоторых видеозвонков, например Ring, уже есть ИИ-функции — они могут общаться с гостями даже в отсутствие хозяев. Но я решил уйти от Ring и установить Reolink, который работает полностью локально. Захотелось понять: смогу ли реализовать такой же голосовой функционал на своей локальной LLM? Частично у меня это получилось.

Чего мне хотелось от моего звонка

Виртуальный консьерж с искусственным интеллектом

Ring doorbell in use by a woman and a man.

Идея казалась вполне реальной: если кто-то нажимает звонок, а Home Assistant понимает, что никого нет дома, сам звонок обращается к гостю, сообщает об отсутствии хозяев, узнаёт имя и цель визита — а потом обрабатывает и озвучивает его ответ.

В облаке это организовать легко: речь преобразуется в текст, текст обратно в речь, а LLM служит мозгом системы, получая слова гостя и формулируя ответ, который тут же произносится звонком.

А вот реализовать всё это на локальной LLM — совсем другой вызов. Мой компьютер не очень мощный, так что приходится использовать сравнительно лёгкие модели. Я решил поэкспериментировать и выяснить, можно ли сделать такую штуку полностью автономной — и кое-что получилось.

Reolink Wi-Fi video doorbell.

Reolink Video Doorbell (Батарея)

Беспроводной видеозвонок Reolink на батарее — удобный способ всегда знать, кто пришёл к вам домой. Картинка в 2K и угол обзора 150°х150° позволяют видеть посетителей в полный рост. Может работать от батареи или прямо от розетки.

Как я всё это собрал

Голос, распознавание и LLM в связке

Для такой схемы понадобились три основных компонента. Первый — преобразование текста в речь (TTS), чтобы звонок мог говорить с гостями. Второй — распознавание речи в текст (STT), чтобы понимать ответы людей. Ну и, конечно, локальная LLM — мозг всей конструкции, который эти диалоги выстраивает.

К счастью, Home Assistant поддерживает все нужные кусочки. Piper — это локальный движок TTS, который превращает текст в звук и работает даже на Raspberry Pi 4.

Как с помощью Home Assistant и ИИ я узнаю, кто у двери

ИИ-описание каждого, кого заметил ваш видеозвонок.

Whisper занимается распознаванием речи. Он «слушает» запись разговора с гостем, превращает аудио в текст, и затем этот текст уходит в LLM — всё по-прежнему локально.

Третий компонент — Ollama. С его помощью можно запускать большие языковые модели у себя дома. В Home Assistant уже есть интеграция с Ollama — удобно и быстро подключается.

Самый слабый элемент в такой сборке — вычислительная мощность вашей LLM. Чем слабее компьютер, тем проще модель приходится выбирать, иначе ответы будут приходить слишком долго. Я ограничился компактной моделью ради скорости — иначе ждать бы пришлось вечность.

Реальность оказалась суровой

В теории всё красиво, на практике не очень

A Reolink video doorbell in the rain.

Настройка заняла куда больше времени, чем я ожидал. К счастью, нашёлся подробный гайд на GitHub, как воспроизводить речь и аудио через звонок — сильно выручил.

Возникла проблема: запись аудио запускалась раньше, чем прозвучит приветствие — из-за этого всё сбивалось. Но я с этим разобрался: реализовал паузу, и схема наконец заработала.

Первые этапы сработали отлично: при нажатии на звонок LLM генерирует приветствие, звонок озвучивает, сообщает об отсутствии хозяев, спрашивает имя гостя и цель визита.

Дальше звонок записывает ответ, STT превращает его в текст — всё идеально.

Но вот поддерживать настоящий диалог с ИИ-звонком не получилось. Моя маленькая LLM часто путалась, отвечала невпопад или подбирала ответ минутами.


Подпишитесь на рассылку о домашних ИИ-проектах в России

Если бы дома стояла мощная LLM, всё работало бы как надо. Но пока мне не светит выигрыш в лотерею — приходится довольствоваться тем, что есть.

Я придумал, как можно обойтись

Нашёл реально рабочее решение

A notification forwarding a message left on a video doorbell.

Самая сложная часть — наладить полноценную беседу с гостем. Я просто убрал этот этап: теперь, когда человек называет своё имя и цель визита, STT превращает сказанное в текст, и мне тут же приходит уведомление на телефон. Звонок в это время сообщает гостю, что его сообщение передано — и на этом всё завершено.

Теперь, если нас нет дома, звонок сам сообщает, кто заходил и зачем. Обычно всё срабатывает как надо, хотя порой приходят забавные и неожиданные уведомления, если гость говорит неразборчиво или шутит. Но в целом эта функция реально полезна.

Вся техника движется в эту сторону!

ИИ все сильнее захватывает бытовую электронику — и это только начало. Да, у Ring есть ИИ-консьерж, но вопросы с приватностью там нерешённые. Зато приятно, что даже простой пользователь может построить похожий сервис у себя дома, просто вложив немного времени — и всё обойдётся без всяких облаков.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий