ИИ-вертебролог на Python: Как я заставил Gemini анализировать МРТ и следить за здоровьем спины
Сидячая работа — профессиональное проклятие разработчиков. Проводя по 10 часов за кодом, мы часто игнорируем «звоночки» от поясницы, пока они не превращаются в полноценные прострелы. После очередного визита к врачу я задался вопросом: а можно ли использовать современные LLM, чтобы упростить жизнь пациенту и наглядно отслеживать динамику лечения?
Так появился Spine Advisor — десктопное приложение на Python, которое использует мультимодальную модель Gemini 3 Flash для «чтения» МРТ и ведения цифрового дневника спины.
В чем проблема обычного обследования?
Когда мы получаем заключение МРТ, это обычно сухой текст и пачка снимков. Пациенту сложно понять:
-
Стало ли лучше по сравнению с прошлым годом?
-
Насколько критичны текущие симптомы в сочетании с картинкой на снимке?
-
Какие упражнения делать именно сейчас, учитывая уровень боли?
Технологический стек
Для реализации я выбрал максимально быстрый и эффективный набор:
-
Python 3.10+ — база.
-
CustomTkinter — для создания современного интерфейса в темных тонах (глаза программиста должны отдыхать).
-
Gemini 3 Flash API — главная фишка. Модель умеет одновременно анализировать текст жалоб и изображение МРТ.
-
Matplotlib — для визуализации прогресса.
Как это работает внутри?
1. Мультимодальный промпт
Главный секрет — в структурировании запроса к ИИ. Я прошу модель вернуть ответ строго в формате JSON, чтобы приложение могло автоматически вытащить данные для графиков.
Python
prompt = f"""Ты опытный врач-вертебролог.
Проанализируй данные пациента и снимок МРТ.
Верни ответ СТРОГО в формате JSON:
{{
"ugol_iskrivleniya": <число или null>,
"stepen_riska": "<низкий/средний/высокий>",
"dinamika": "<uluchshenie/uhudshenie>",
"uprazhneniya": ["упр 1", "упр 2"]
}}"""
2. Динамика лечения в графиках
Приложение не просто показывает текущий результат. Оно лезет в локальную базу данных (history.json), достает предыдущие замеры и строит график. Если уровень боли падает, а угол искривления уменьшается — пользователь видит реальный прогресс.
3. Конфиденциальность
Все данные (профиль, история болезней, ИМТ) хранятся локально на компьютере пользователя. В облако улетает только текущий запрос к API.
Кейс «Алексей»
В качестве теста я прогнал через систему легенду о пациенте Алексее с грыжей L5-S1.
-
Алексей ввел симптомы: «Боль отдает в правую ногу, онемение пятки».
-
Загрузил снимок МРТ.
-
ИИ сопоставил картинку (сдавление корешка) с текстом и выдал: «Высокий риск. Срочно к врачу». При этом программа подобрала щадящие упражнения для декомпрессии, которые можно делать до визита в клинику.
Итоги и планы
Проект вырос из маленького скрипта в приложение на 500+ строк кода. На данном этапе это мощный помощник для систематизации данных.
Что дальше?
-
Интеграция с аппаратным «умным» корсетом (сбор данных осанке через Bluetooth).
-
Переход на базу данных SQLite для хранения сотен снимков.
-
Экспорт полноценных PDF-отчетов для лечащего врача.
Код проекта открыт и доступен на GitHub: [ https://github.com/dratexyyy/SpineAdvisor-AI/tree/main] (Связаться со мной: Telegram: @dratexyy)
Автор: MrSultan


