Резюме
Когда ИИ-чат-боты только начали появляться, они справлялись лишь с текстовыми командами. Единственным способом получить ответ от чат-бота было введение текстовых запросов. Однако сегодня многие ИИ-модели стали мультимодальными, то есть способны обрабатывать не только текст.
Теперь вы можете использовать ИИ для анализа изображений, получая детальные описания того, что изображено на фотографии. С помощью Home Assistant вы можете воспользоваться этой функцией, чтобы узнать, кто стоит у вашей двери, основываясь на изображении с вашего видеозвонка. Результаты часто бывают весьма забавными.
Что вам потребуется
Если вы уже используете Home Assistant и подключили свой умный видеозвонок, то, вероятно, у вас уже настроено большинство необходимых компонентов. Убедитесь, что вы используете Home Assistant с интегрированным видеозвонком. Home Assistant сделает снимок с вашего звонка и передаст его в Google Gemini для анализа, после чего сгенерирует описание того, кто у вас на пороге.
Вам понадобится установить интеграцию LLM Vision. Эта интеграция для Home Assistant берет снимок с вашего видеозвонка, передает его в Gemini для обработки и сохраняет ответ в переменной, которую вы можете использовать в Home Assistant.
Также вам потребуется API-ключ для Google Gemini, чтобы иметь возможность использовать его модели для анализа ваших изображений. Я выбрал Google Gemini, потому что он предлагает некоторое бесплатное использование API в отличие от множества других моделей. Учтите, что для создания API-ключа вам потребуется учетная запись Google.
Чтобы получать уведомления на ваш телефон, вам нужно установить приложение Home Assistant и подключить его к серверу Home Assistant. После этого ваш телефон будет отображаться как место назначения для уведомлений от Home Assistant.
Генерация API-ключа для Google Gemini
Создать API-ключ можно очень быстро и легко через Google AI Studio. Перейдите на сайт Google AI Studio и войдите в свою учетную запись Google. Нажмите кнопку «Получить API-ключ», затем «Создать API-ключ». Уникальный API-ключ будет сгенерирован и сохранён в вашей учетной записи Google, чтобы вы могли вернуться к нему позже при необходимости. В любой момент вы можете нажать кнопку «Копировать», чтобы скопировать API-ключ.
После того, как вы сгенерируете API-ключ, оставьте Google AI Studio открытым, чтобы иметь возможность вернуться и скопировать API-ключ по мере необходимости.
Установка интеграции LLM Vision
Теперь, когда у вас есть доступный API-ключ, необходимо установить интеграцию LLM Vision. Это пользовательская интеграция, созданная специально для Home Assistant. Она предназначена для анализа изображений, видео и потокового видео с использованием мультимодальных ИИ-моделей. Информация, полученная этими моделями, становится доступной в Home Assistant для использования в ваших автоматизациях.
LLM Vision не является официальной интеграцией, поэтому вам нужно будет установить её через Home Assistant Community Store (HACS). Это платформа для установки пользовательских интеграций Home Assistant, разработанных сообществом, которые предлагают дополнительные функции помимо официального набора интеграций. Если у вас еще нет HACS, вы можете воспользоваться официальными инструкциями по установке.
После установки HACS откройте его и найдите LLM Vision. Выберите интеграцию LLM Vision и нажмите кнопку «Скачать». Затем перезагрузите Home Assistant.
Настройка LLM Vision
После установки интеграции LLM Vision необходимо добавить её в Home Assistant и настроить, используя созданный API-ключ.
После перезапуска Home Assistant перейдите в Настройки > Устройства & Сервисы. На вкладке «Интеграции» нажмите кнопку «Добавить интеграцию», найдите «LLM» и выберите «LLM Vision».
В выпадающем меню «Поставщик» выберите «Google» и нажмите «Отправить». Скопируйте и вставьте ваш API-ключ Google Gemini в поле «API-ключ» и нажмите «Отправить».
Теперь LLM Vision готов использовать Google Gemini для анализа изображений с вашего видеозвонка.
Создание автоматизации для отправки описательного уведомления
Причина, по которой я настроил эту функцию, – желание быстро получать описание того, кто у меня на пороге, когда распознается человек. Отправляя это как уведомление на свой телефон, я могу быстро понять, это посылка, дети выбежали поиграть или кто-то ведет себя подозрительно рядом с моим домом. Используя генеративный ИИ для описания изображений, я также попросил его добавить немного сарказма, что делает каждый визит забавным.
Я создал автоматизацию, которая срабатывает, когда у двери распознается человек. Конкретный триггер будет отличаться в зависимости от модели звонка и событий, которые предоставляет интеграция звонка с Home Assistant. В этом примере я использую звонок Reolink. Некоторые видеозвонки, такие как модели Ring, могут иметь более сложную настройку, так как не позволяют просто сделать снимок с потока камеры.
Перейдите в Настройки > Автоматизации & Сцены. На вкладке «Автоматизации» нажмите «Создать автоматизацию». Выберите «Создать новую автоматизацию».
Нажмите «Добавить триггер» и выберите «Устройство». Нажмите на поле «Устройство», начните вводить название вашего видеозвонка и выберите его из результатов. Затем в выпадающем меню «Триггер» выберите триггер, который реагирует на движение. В этом примере с видеозвонком Reolink я выберу «Reolink Front Door Person turned on».
Следующий шаг — сделать снимок с вашего видеозвонка, когда распознается движение. Этот статический снимок будет отправлен в Gemini для анализа, и на его основе будет возвращено описание.
Нажмите кнопку «Добавить действие», выберите «Камера» и выберите «Сделать снимок». Нажмите на кнопку «Выбрать устройство» и выберите свой видеозвонок. Введите путь для хранения снимка; я сохраняю снимки в «/config/www/reolink_snapshot/last_snapshot_doorbell.jpg», который затем можно передать LLM Vision.
Нажмите «Добавить действие» и введите «LLM». Выберите «LLM Vision: Анализатор изображений» из списка. В поле «Поставщик» выберите «Google Gemini». Если вы хотите использовать более мощную модель, введите «gemini-1.5-pro» в поле «Модель». Это более продвинутая модель, но по сравнению с основной моделью gemini-1.5-flash вам будет предоставлено только 50 запросов в день вместо 1500.
В поле «Запрос» введите текст, в котором попросите Gemini проанализировать изображение с вашего звонка. Лучше всего формулировать запрос в одно предложение, чтобы ваше уведомление не было слишком длинным. Я попросил сделать ответы более остроумными, что делает их более развлекательными, но вы не обязаны это делать. Мой запрос звучал так:
В поле «Файл изображения» укажите местоположение созданного вами снимка на предыдущих шагах. В поле «Переменная ответа» укажите имя, которое будет использоваться для ответа от Gemini. На это имя вы будете ссылаться, чтобы добавить ответ в ваше уведомление. Я использую «doorbell_description».
Нажмите «Добавить действие», введите «Уведомление» и выберите опцию отправки уведомления на ваш мобильный телефон. Для этого необходима установка мобильного приложения. В поле «Данные» напишите «image: /local/», указав папку и имя файла вашего снимка с видеозвонка. В моем примере я добавлю следующее:
Выберите поле «Сообщение» и начните вводить «{{«, что должно вызвать сообщение о том, что визуальный редактор не поддерживает эту конфигурацию. В коде под этим сообщением удалите текст и замените его на следующее:
Убедитесь, что вы добавили кавычки в начале и в конце. Не забывайте заменить «doorbell_description» на имя, которое вы дали ответу в действии LLM Vision.
Нажмите «Сохранить», дайте вашей автоматизации название и снова нажмите «Сохранить». Теперь можете выйти на улицу и стать перед вашим видеозвонком.
Если все настроено правильно, вы должны получить уведомление на телефон с снимком с вашего звонка и описанием события.
Другие способы использования LLM Vision
Вышеописанный метод отправляет уведомление с описанием того, кто находится у двери, даже если человек не нажал на звонок. Это полезно для того, чтобы узнать, когда люди покинули ваш дом, сообщить, если кто-то стоит рядом с вашей дверью, не нажав на звонок, или просто информировать о том, что кто-то оставил посылку на вашем пороге.
Тем не менее, может оказаться удобно получать уведомление только в том случае, если кто-то действительно нажимает на дверной звонок. В таком случае вы можете создать ту же автоматизацию, но вместо триггера для обнаружения движения используйте триггер «Посетитель включен», который срабатывает только когда нажимается дверной звонок.
У меня есть отдельная автоматизация, настроенная на случай, если кто-то нажимает на дверной звонок, а не просто на обнаружение человека. Когда звенит звонок, делается снимок, изображение анализируется с помощью LLM Vision, и затем звучит уведомление о том, что кто-то у двери, на умных колонках в моем доме, вместе с описанием, сгенерированным LLM Vision.
Таким образом, даже если телефон не под рукой, я всё равно получаю описание того, кто звонил в звонок.
LLM Vision также обладает множеством других возможностей. Он может анализировать видеофайлы и прямые трансляции, а также обновлять датчики на основе изображений. Например, вы можете использовать анализатор данных для отслеживания количества автомобилей, припаркованных у вашего дома, и запускать автоматизации, если это число достигает установленного значения или опускается ниже него.
Запуск LLM Vision локально
В этом примере я использовал бесплатный тариф Google Gemini для анализа изображений, так как это быстро, достаточно точно и бесплатно для ограниченного числа раз, когда кто-то появляется у меня на двери. Возможно, вам не нравится идея отправки изображений людей, заходящих к вам, в облако, даже если это делает видеозвонок, например Ring, по умолчанию.
Если это так, и у вас достаточно мощное оборудование, вы можете запускать LLM на своем локальном компьютере и проводить весь анализ на месте. Есть локальные модели LLM, которые могут работать на менее мощных компьютерах, но они могут не справляться с анализом изображений достаточно быстро, чтобы быть удобными.
Vision LLM поддерживает популярные варианты для самостоятельной установки, такие как Ollama, Open WebUI и LocalAI, которые позволяют вам использовать модели, такие как gemma3 и llama3.2vision для анализа.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Вы также можете читать наши материалы в:
- Telegram: https://t.me/gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru