You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
					
						
							9.6 KiB
						
					
					
				
			
		
		
	
	
							9.6 KiB
						
					
					
				Medical Input Helper 🏥
Умное приложение для автоматизации ввода медицинских текстов с поддержкой AI. Панель автоматически появляется при клике на поля ввода в любых приложениях (браузеры, текстовые редакторы, EHR системы).
✨ Возможности
🤖 Интеллектуальная обработка текста
- Автоматическое определение полей ввода в любых приложениях
 - AI-обработка медицинских текстов с использованием LLM
 - Поддержка русского языка и медицинской терминологии
 - Автоматическое форматирование жалоб и анамнеза
 
🖱️ Удобный интерфейс
- Плавающая панель с автоматическим появлением
 - Drag-and-drop для текста и изображений
 - Системный трей для фоновой работы
 - Перетаскиваемые окна для удобного позиционирования
 
🏥 Медицинские функции
- Обработка жалоб пациента с AI-анализом
 - Форматирование анамнеза заболевания
 - Подготовка ЛОР-статуса
 - Генерация медицинских заключений
 
📁 Структура проекта
medical-input-helper/
├── 📁 models/                 # Папка для AI моделей
│   └── .gitkeep              # Пустой файл для сохранения структуры
├── 📁 data/                  # Папка для пользовательских данных
│   └── .gitkeep              # Пустой файл для сохранения структуры
├── 📁 chroma_db/             # База данных векторных эмбеддингов
│   └── .gitkeep              # Пустой файл для сохранения структуры
├── 📄 main.py                # Точка входа приложения
├── 📄 main_window.py         # Главное окно и основная логика
├── 📄 main_interface.py      # Пользовательский интерфейс
├── 📄 ai_worker.py           # Обработка AI (LLM + RAG)
├── 📄 drag_drop_handler.py   # Обработка drag-and-drop
├── 📄 icon_window.py         # Плавающая иконка приложения
├── 📄 rag_corpus.json        # Медицинский корпус для RAG
├── 📄 requirements.txt       # Зависимости проекта
└── 📄 README.md              # Документация
🚀 Установка
Требования
- Python 3.8 или выше
 - 4GB+ оперативной памяти (8GB+ рекомендуется для LLM)
 - 2GB+ свободного места на диске для моделей
 
Установка зависимостей
pip install -r requirements.txt
Или вручную:
pip install PyQt6 qtawesome uiautomation pyperclip keyboard chromadb llama-cpp-python torch tiktoken psutil pillow requests
📥 Установка AI модели
Скачивание YandexGPT-5-Lite модели
- 
Перейдите на HuggingFace:
 - 
Выберите версию модели:
- Для слабых компьютеров: 
YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf(~4.8GB) - Для мощных компьютеров: 
YandexGPT-5-Lite-8B-instruct-Q8_0.gguf(~8.5GB) 
 - Для слабых компьютеров: 
 - 
Скачайте модель:
# Создайте папку для моделей mkdir models # Скачайте через wget (Linux/Mac) wget -O models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf https://huggingface.co/yandex/YandexGPT-5-Lite-8B-instruct-GGUF/resolve/main/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf # Или через curl (Windows) curl -L -o models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf https://huggingface.co/yandex/YandexGPT-5-Lite-8B-instruct-GGUF/resolve/main/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf - 
Альтернативные способы скачивания:
- Используйте 
git lfsесли установлен - Скачайте вручную через браузер и переместите в папку 
models/ 
 - Используйте 
 
Настройка медицинского корпуса
Создайте файл rag_corpus.json с примерами медицинских текстов:
[
  {
    "short": "кашель температура",
    "full": "Пациент предъявляет жалобы на сухой кашель, повышение температуры тела до 38°C, общую слабость"
  },
  {
    "short": "боль горло", 
    "full": "Больной жалуется на острую боль в горле, усиливающуюся при глотании, першение"
  }
]
🎯 Использование
Основные сценарии
1. Автоматическая работа
- Кликните на любое поле ввода в браузере или приложении
 - Панель автоматически появится рядом с курсором
 - Выберите нужную функцию для вставки текста
 
2. Обработка жалоб пациента
- Нажмите "Копировать жалобы" для захвата текста из активного поля
 - AI автоматически обработает и отформатирует текст
 - Нажмите "Вставить жалобы (ИИ)" для вставки результата
 
3. Drag-and-drop
- Перетащите текст или изображение на панель
 - Система автоматически определит тип контента
 - Выберите нужный формат для вставки
 
4. Работа с изображениями
- Перетащите медицинские снимки на папку 
data/или прямо в приложение - AI сгенерирует описание и заключение
 - Вставьте готовый текст в нужное поле
 
Горячие клавиши
- Двойной клик по иконке в трее - показать/скрыть панель
 - Перетаскивание окон - удерживайте левую кнопку мыши
 
🏗️ Архитектура
AI система
- MedicalRAG - Retrieval-Augmented Generation для медицинских текстов
 - ChromaDB - векторная база в папке 
chroma_db/ - Sentence Transformers - эмбеддинги на русском языке
 - LLM модели - хранятся в папке 
models/ 
Потоки данных
Пользовательский ввод → Drag&Drop/Копирование → AI Worker → LLM модель → Форматированный вывод
⚙️ Настройка
Конфигурация путей
В ai_worker.py настройте пути к данным:
model_path = "./models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf"
corpus_path = "rag_corpus.json" 
db_path = "./chroma_db"
data_path = "./data"
Создание структуры папок
# Автоматическое создание структуры
mkdir -p models data chroma_db
# Создание пустых файлов для git
touch models/.gitkeep data/.gitkeep chroma_db/.gitkeep
🐛 Устранение неполадок
Проблемы с моделями
# Проверьте наличие модели
ls -la models/
# Проверьте размер файла (должен быть ~4.8GB для Q4)
ls -lh models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf
Проблемы с памятью
- Используйте Q4 версию модели для экономии памяти
 - Закройте лишние приложения перед запуском
 - Увеличьте файл подкачки если нужно
 
Проблемы с зависимостями
# Обновите pip и переустановите зависимости
pip install --upgrade pip
pip install -r requirements.txt --force-reinstall
🤝 Разработка
Добавление новых функций
- Создайте новую кнопку в 
main_interface.py - Добавьте обработчик в 
main_window.py - Реализуйте логику в 
ai_worker.pyпри необходимости 
Расширение медицинского корпуса
Добавьте новые примеры в rag_corpus.json:
{
  "short": "новые симптомы",
  "full": "Развернутое медицинское описание с профессиональной терминологией"
}