Как я устал выкидывать просроченные таблетки и собрал «умную» аптечку с нейросетями в семейном чате
Сразу признаюсь на берегу: я вообще не программист. Я не пишу код с закрытыми глазами на Python, не знаю высшей математики и при слове «байт» представляю разве что объем памяти на флешке. Но у меня, как и у многих из вас, дома была ОНА. Легендарная обувная коробка из-под кроссовок, доверху набитая блистерами, половинками упаковок, начатыми сиропами от кашля и помятыми инструкциями.
Классическая ситуация из нашей жизни:
Суббота, 23:00. У кого-то резко поднимается температура или болит голова. Мы лезем в эту коробку, нервно перерываем всё дно, находим нужную пластинку... а срок годности истек еще во времена пандемии. В итоге надеваешь куртку, бежишь в круглосуточную аптеку, отдаешь 2500 рублей, возвращаешься — и только утром на второй полке за банкой с горчичниками случайно находишь абсолютно свежую, закрытую пачку того же самого.
Когда после очередной генеральной уборки я вынес на помойку просроченных медикаментов тысяч на пять рублей, моя внутренняя жаба возмутилась. Я решил: хватит.
Хотелось чего-то предельно простого: чтобы можно было прямо в семейный чат ВКонтакте (где сидят все — от жены до родителей) наговорить голосом «заболел живот», переслать назначение врача «что купить по рецепту?», а в ответ получить четкий расклад.
Рассказываю, как я за несколько выходных собрал такую систему, сколько граблей собрал по пути и что из этого вышло.
На чем все работает.
Начну с того что вначале я решил избавиться от облака Google и тут понеслось: на данный момент у меня развернут сервер из старого ПК на котором крутится Proxmox+LXC+docker и всякие сервисы: качалка фильмов, Immich и т.д. Разворачивал я это все добро с помощью нейронок по причине выше)
Чтобы не писать программы руками, я взял готовые бесплатные инструменты:
Визуальный конструктор n8n — программа, где ты не пишешь код строчками, а соединяешь блоки стрелочками, как в Lego: «Если пришло сообщение ➔ Передай нейросети ➔ Запиши в базу ➔ Ответь в чат».
База данных PostgreSQL — обычная электронная таблица, где аккуратно записано: название таблеток, сколько штук, от чего помогают и до какого числа годны.
Бесплатный GigaChat от Сбера — отлично понимает человеческий язык, вычленяет из запроса названия симптомов и подбирает аналоги.
Локальная нейросеть Whisper — живет на домашнем сервере и на лету идеально переводит голосовые сообщения в текст.
Семейный чат ВКонтакте — чтобы никому не надо было ставить новые приложения и регистрироваться. Просто пишем боту в беседе.
Медицина — это не шутки (Красная кнопка)
Если в сообщении встречаются слова вроде «давит в груди», «задыхаюсь», «сильное кровотечение», «судороги», «температура 40 у ребенка», бот даже не думает открывать базу аптечки. Он мгновенно отсекает разговор и крупным шрифтом выдает: «⚠️ Это состояние угрожает жизни! Срочно звоните 103 или 112!»
Никакая аптечка не должна заменять скорую помощь.
Как это работает на практике
1. Добавление новых лекарств (голос победил фото!)
Изначально у меня была наполеоновская идея: пришел из аптеки, сфоткал коробку, и пусть нейросеть сама всё распознает. Я даже прикрутил модуль для фото, но честно скажу: толком его не тестировал, и не факт, что он вообще надежно работает. Блики на глянцевой упаковке, мелкий выдавленный шрифт со сроком годности… А главное — в этом просто нет необходимости. Оказалось, что в 100 раз проще и быстрее просто зажать кнопку микрофона, выходя из аптеки:
🎙️ «Запиши, купил Парацетамол до мая 2028 года, две пачки».
Нейросеть Whisper переводит это в текст, Сбер разбирает дату и название, а база данных послушно создает запись (или увеличивает счетчик, если такая пачка уже была). Занимает ровно 3 секунды. 2. Сверка списка от врача (главная экономия!)
Ребенок приболел, педиатр выписал список из 4 препаратов по коммерческим названиям.
Раньше я бы просто пошел в аптеку и купил всё заново.
Теперь пишу боту:
«Врач выписал: Нурофен детский, Мирамистин, Линекс и Зодак. Что из этого есть?»
Бот сверяет базу, понимает действующие вещества и выдает:
✅ «Мирамистин — есть 1 флакон (годен до 08.2026)»
🔄 «Вместо Зодака у вас есть аналог Цетрин (то же вещество, 10 таблеток, до 01.2027)»
⚠️ «Линекс — найден, но ПРОСРОЧЕН на месяц! Не принимать»
🛒 «Нужно купить в аптеке: Нурофен и свежий Линекс»
В итоге принимаешь решение заменить или оставить или задать доп вопросы врачу.
3. Поиск по симптомам в темноте
Голосовое в чат посреди ночи: «Что есть от сухого кашля?»
Бот ищет по симптомам в описании и присылает список лекарств с указанием, что не просрочено и сколько упаковок осталось. 4. Списание по принципу «съешь первое»
Если у нас две пачки парацетамола (одна годна до 2026 года, а вторая — до 2028-го), при запросе «выпил парацетамол» бот спишет со склада именно ту пачку, у которой срок годности заканчивается быстрее.
5. Ежемесячная ревизия
Бот умеет проверять сроки на 30 дней вперед: «Хозяин, у тебя через месяц сгорают капли для носа. Если не нужны — пора утилизировать».
Цифра цифрой, но порядок в шкафу никто не отменял
Тут сделаю важное приземление на грешную землю.
В процессе я осознал главную истину: никакой искусственный интеллект не спасет, если в реальной коробке у вас по-прежнему филиал черной дыры.
Бот может идеально точно сказать: «Да, дома есть Ибупрофен, целая пачка, годна еще три года!». Но если вы стоите ночью с температурой и перерываете сваленные в кучу бинты, пластыри и пустые пузырьки, толку от умной базы данных будет немного.
Навести порядок все расфасовать и со всеми договориться все же пришлось.
Бот потрясающе решает проблему склероза, учета и экономии денег в аптеке. Но физически положить пачку на место всё равно приходится руками — роботов-уборщиков для таблеток пока не завезли :)
Какие шишки я набил (технические курьезы)
Так как я самоучка, без глупых ошибок не обошлось:
Бот-молчун. Собрал всё, подключил к чату — бот молчит как партизан. Оказалось, во ВКонтакте, если бот сидит в беседе и не назначен Администратором, соцсеть из соображений приватности просто не передает ему сообщения без явного тега @Bot. Назначил админом — заговорил.
Пробел ценою в вечер. Час не мог понять, почему сообщения не уходят обратно в ВК. Оказалось, в параметрах отправки в слове message я случайно поставил пробел в конце: message. Компьютер счел это неизвестным словом и выдавал ошибку.
«Внутренний прокси-тупик». Когда я пустил интернет-трафик сервера через защиту, мои сервисы внутри перестали видеть друг друга (выдавали ошибку 502), потому что пытались связываться между собой через внешний сервер. Пришлось гуглить строчку NO_PROXY и прописывать локальные адреса.
Итог: стоило ли оно того?
По деньгам: Система живет на скромном домашнем железе, бесплатной базе данных и бесплатных лимитах нейросетей. Реальная экономия на дубликатах таблеток и некупленных заново аналогах окупила все потраченное время уже за первые пару месяцев.
Главный вывод: Чтобы сделать для себя полезную «умную» штуку, сегодня уже не нужно быть сеньор-разработчиком. Достаточно желания разобраться в готовых кирпичиках и пары свободных вечеров. А еще в процессе быстро понимаешь: не надо усложнять то, что можно решить простой голосовой заметкой и базовым порядком на полке!
Если у вас дома тоже стоит коробка с лекарственным хаосом — возможно, это знак навести в ней порядок! Будьте здоровы и не болейте!
https://github.com/volkvjeka/smart-pharmacy - если кому интересно как это все устроено.



