Так, ну какой то код получился более-менее.
так как не программист я, и максимум знаний программирования у меня - это на VBA, то для написания кода использовал ChatGPT и другие мощные LLM.
код сейчас перегружен отладочными сообщениями, так как "разработка" не завершена, есть еще над чем подумать - доработать, лежит тут, вдруг кому-то интересно станет (помню, правда, скепсис многих в комментариях ;-)
я не пошел путем интеграции с моделью Яндекс, как уважаемый @BlackRoland, так как стараюсь отправлять как можно меньше данных наружу, тем более, если можно попытаться сделать локально.
что сейчас есть - бот добавлен в канал, куда приходят уведомления из УД (HA), перенаправляет их в локально развернутую модель Ollama (кастомизированная модель llama3.1:8b через modelfile, в которой System prompt'ом вписаны обитатели дома) и запросом просит прокомментировать с юмором событие.
комментирует пока тоже на английском, так как качество несравненно лучше, чем русский язык у нее. сейчас экспериментирую с русскими моделями, но успехи не очень - сейчас на развилке - подтягивать ли каким то api переводчик еще, либо дальше искать способы сразу генерировать русским языком. запрос сейчас выглядит так:
prompt = f"Now is {day_of_week}, the {day_of_month} of {month_name} {year}, {time_str}, Comment event with humor in English, add some emoji: {message}"
на мой взгляд, получается смешно (опять же, скептики, можете позлорадствовать, но для меня этот проект - просто развлечение - хобби (с возможностью немного изучить современные технологии и английский язык).
типов уведомлений от УД пока немного (открыта дверь, не потушен свет, температура в комнатах, погода на улице, показания счетчиков воды), и бот их комментирует.
получается как то так (цитаты - сообщение в канал от УД, ответ бота, перевод)
🚪 Открыта входная дверь 🔓🚪
📢 ВНИМАНИЕ
🤖 Комментарий вУмного дома:
"Breaking News: Front door open 🚨. Possible suspect on the loose... just kidding! It's probably just Kosya, our esteemed feline neighbor 😺, trying to get in for a sneaky snack or two (or ten). Or maybe it's Liza, our Seoul-based daughter 🇰🇷, thinking she can sneak back in for her favorite isopod-watching session 🐜. Anyway, we'll just have to keep an eye on things... and by 'we' I mean the security system 👀."
"Срочные новости: открыта входная дверь 🚨. Возможный подозреваемый на свободе... шучу! Это, вероятно, просто Кося, наш уважаемый кошачий сосед 😺, пытается тайком перекусить пару раз (или десяток). Или, может быть, это Лиза, наша дочь из Сеула 🇰🇷, думает, что может пробраться обратно, чтобы понаблюдать за своими любимыми изоподами 🐜. В любом случае, нам просто придется следить за всем... и под "нами" я подразумеваю систему безопасности 👀".
сегодня вообще выдал такой коммент на погоду (супруга не на шутку обиделась (на самом деле, смеялась тоже). при этом, я ничего специально не просил и не прописывал, чтобы шутки были ниже пояса ))
Сейчас на улице:
Облачно ⛅️
Температура: 0.7 °C
Скорость ветра: 2.08 м/с
📢 ВНИМАНИЕ
🤖 Комментарий вУмного дома:
Breaking news! 🚨 Just received a distress signal from the great outdoors... aka Liza's mom is freezing her butt off outside ☁️. Temperature reading: a whopping -0.3°C ❄️ (or 32.7°F for our American friends 😅). And to make matters worse, a gentle breeze of 2.08 m/s (4.6 mph) is making it feel like she's being tickled by the wind 🤣.
I'm sending out a team of thermometers and wind meters to assist her in this crisis. And also, warning Athos, Porthos, and Aramis in the terrarium: no partying with the isopods today - it's cold
Срочные новости! 🚨 Только что получен сигнал бедствия с большой улицы... ака мама Лизы отмораживает себе задницу на улице ☁️. Температура на улице -0,3°C ❄️ (или 32,7°F для наших американских друзей 😅). И что еще хуже, легкий ветерок со скоростью 2,08 м/с (4,6 миль/ч) создает ощущение, что ее щекочет ветер 🤣.
Я высылаю команду термометров и ветромеров, чтобы помочь ей в этом кризисе. И еще, предупреждаю Атоса, Портоса и Арамиса в террариуме: никаких вечеринок с изоподами сегодня - на улице холодно, оставайтесь внутри! 😂
здесь почему то галлюционировал с температурой ((
собственно, считаю эксперимент удавшимся, продолжу дорабатывать и периодически смеяться над замысловатым юмором модели, живущей у меня дома ;-)
убрать лишнюю генерацию при тесте подключения, Проверка доступности подключения более простое
добавить эмоции - расстроенный, агрессивный и т.д.выбирать случайно
формирование модели в функционале бота (задать system, выбрать модель - источник)
текст запроса (comment with humor) промпт или для модели в сообщении или в .env
Исправить выбор модели
удаление моделей
Добавить выбор температуры
Сделать контроль длины ответа не меньше 5-7 предложений.
Перевод - найти нормальный api или русская модель?
Случайная шутка про обитателей раз в ХХ минут??
Уменьшить логгирование доработать системный промпт - сделать более структурированным - комнаты и животные, чтобы было более раздельно и LLM не путалась в комнатах и обитателях)