🏠 За выходные собрал семейный AI-архив здоровьяBig Tech продаёт это по $20 в месяц + vendor lock. У меня вышло 0 злотых.Мы с женой живём в Польше. У нас опилась стопка PDF-анализов на польском, направления, рецепты, выписки из клиник. Каждый раз перед визитом к врачу - паника: где тот результат витамина D от прошлого квартала? В каком письме было железо?
Очевидное решение - Notion / Google Drive. Очевидная проблема - в том, что потом по этим данным невозможно нормально искать. PDF - мёртвый формат для анализа. Ты не спросишь у папки с файлами "покажи динамику железа за год".
А мы хотим большего. Ожидаем, что в ближайшие годы AI-агенты дорастут до прогностической медицины - анализ трендов, раннее выявление отклонений, персональные рекомендации на основе истории. Для этого нужна база, а не разрозненные сканы в Downloads. Поэтому решили собирать сейчас - в структурированных MD-файлах, с тегами, датами и значениями, с доступом в любой момент через Telegram.
Сел в субботу днём, закончил в воскресенье вечером. Получился рабочий продукт.📦 Что вышло
Жена кидает фото или PDF в Telegram-бота. Бот говорит "принято". Через 1-3 минуты документ обработан: текст распознан, поля извлечены (анализы, даты, врачи, клиники), сделан перевод на русский, добавлены теги, всё лежит в архиве. Вика пишет "железо" в чат - бот возвращает все документы где этот показатель был, с датами и значениями.
🔧 Под капотом
Cloudflare Worker (бесплатный тариф) на entry point. Telegram webhook кидает файлы в R2 (object storage) и D1 (SQLite). Это always-on intake-слой - можем слать документы в любое время суток, даже если Mac выключен, обработается потом и удалится из Cloudflare. Долгосрочно данные хранятся локально в Obsidian - ничего чувствительного в облаке не остаётся.
На MacBook Air крутится Python-агент. Раз в минуту дёргает Cloudflare, видит pending-айтемы, прогоняет через пайплайн:
1️⃣ pypdf пытается вытащить текст из PDF
2️⃣ если вышел мусор (типичная история с польскими лабораториями - встроенные subset-шрифты, pypdf возвращает control-символы) - падает в OCR через Tesseract с польским и английским словарями
3️⃣ извлечённый текст идёт в Ollama, локально, qwen2.5:7b-instruct
4️⃣ модель возвращает structured JSON: тип документа, даты, лабораторные значения с референсами и статусами, краткое резюме на русском
5️⃣ всё пишется в локальный SQLite + Markdown-ноту в Obsidian-совместимом vault
После обработки агент пушит компактный summary в D1 - hot-path кэш для поиска. Когда жена пишет "железо" в Telegram, Worker лезет не на Mac (может быть оффлайн), а в D1-табличку - миллисекунды.

Локальная модель справляется
Ожидал что 7B-моделька будет тупить на польской медицине и придётся подключать Anthropic API. Оказалось нет. Замер на лабораторном PDF:

16 анализов из 16 распознаны корректно

референсные диапазоны распаршены правильно

статусы within_range / above_range / deficit проставлены корректно

резюме на русском с flagging-ом железа ниже нормы

3 минуты 36 секунд на трёхстраничный скан с OCR-фоллбэком
Для одностраничной фотки pipeline отрабатывает за 35 секунд. Это уже не "локальный AI как игрушка", это рабочий tool.
Cost:

Cloudflare Worker, R2, D1 - free tier (нам нужны крохи от лимитов)

Ollama + qwen2.5:7b-instruct - open weights, бесплатно

MacBook Air M4 - и так уже есть

Telegram bot - бесплатно
Итого 0 злотых в месяц на бесконечно растущий архив, который потом можно будет даже детям передать для их прогностических агентов.
🤔 Что я из этого выношу
Точка где локальные модели становятся достаточно хороши для нетривиальных задач - уже пройдена. На M-series Mac, бесплатной модели и пайплайне на коленке получается продукт, который год назад нужно было бы строить командой.
Вангую что через 1-2 года таких персональных "архивов чего угодно" будет много. Все компоненты уже бесплатны, не хватает готового UX. Когда-то появятся модели, способные строить предиктивную медицину по персональной истории. Мы собираем данные уже сегодня.#library #tools