readme
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
Умное приложение для автоматизации ввода медицинских текстов с поддержкой AI. Панель автоматически появляется при клике на поля ввода в любых приложениях (браузеры, текстовые редакторы, EHR системы).
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
@@ -26,15 +26,186 @@
|
||||
- **Подготовка ЛОР-статуса**
|
||||
- **Генерация медицинских заключений**
|
||||
|
||||
## 📁 Структура проекта
|
||||
|
||||
```
|
||||
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+ свободного места на диске для моделей
|
||||
|
||||
### Установка зависимостей
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
Или вручную:
|
||||
```bash
|
||||
pip install PyQt6 qtawesome uiautomation pyperclip keyboard chromadb llama-cpp-python torch tiktoken psutil pillow requests
|
||||
```
|
||||
### Модель
|
||||
[YandexGPT-5-Lite-8B-instruct-Q4_K_M](https://huggingface.co/yandex/YandexGPT-5-Lite-8B-instruct-GGUF/resolve/main/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf?download=true)
|
||||
|
||||
### 📥 Установка AI модели
|
||||
|
||||
#### Скачивание YandexGPT-5-Lite модели
|
||||
|
||||
1. **Перейдите на HuggingFace**:
|
||||
- Откройте: https://huggingface.co/yandex/YandexGPT-5-Lite-8B-instruct-GGUF/tree/main
|
||||
|
||||
2. **Выберите версию модели**:
|
||||
- Для слабых компьютеров: `YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf` (~4.8GB)
|
||||
- Для мощных компьютеров: `YandexGPT-5-Lite-8B-instruct-Q8_0.gguf` (~8.5GB)
|
||||
|
||||
3. **Скачайте модель**:
|
||||
```bash
|
||||
# Создайте папку для моделей
|
||||
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
|
||||
```
|
||||
|
||||
4. **Альтернативные способы скачивания**:
|
||||
- Используйте `git lfs` если установлен
|
||||
- Скачайте вручную через браузер и переместите в папку `models/`
|
||||
|
||||
#### Настройка медицинского корпуса
|
||||
|
||||
Создайте файл `rag_corpus.json` с примерами медицинских текстов:
|
||||
|
||||
```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` настройте пути к данным:
|
||||
|
||||
```python
|
||||
model_path = "./models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf"
|
||||
corpus_path = "rag_corpus.json"
|
||||
db_path = "./chroma_db"
|
||||
data_path = "./data"
|
||||
```
|
||||
|
||||
### Создание структуры папок
|
||||
```bash
|
||||
# Автоматическое создание структуры
|
||||
mkdir -p models data chroma_db
|
||||
|
||||
# Создание пустых файлов для git
|
||||
touch models/.gitkeep data/.gitkeep chroma_db/.gitkeep
|
||||
```
|
||||
|
||||
## 🐛 Устранение неполадок
|
||||
|
||||
### Проблемы с моделями
|
||||
```bash
|
||||
# Проверьте наличие модели
|
||||
ls -la models/
|
||||
|
||||
# Проверьте размер файла (должен быть ~4.8GB для Q4)
|
||||
ls -lh models/YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf
|
||||
```
|
||||
|
||||
### Проблемы с памятью
|
||||
- Используйте Q4 версию модели для экономии памяти
|
||||
- Закройте лишние приложения перед запуском
|
||||
- Увеличьте файл подкачки если нужно
|
||||
|
||||
### Проблемы с зависимостями
|
||||
```bash
|
||||
# Обновите pip и переустановите зависимости
|
||||
pip install --upgrade pip
|
||||
pip install -r requirements.txt --force-reinstall
|
||||
```
|
||||
|
||||
## 🤝 Разработка
|
||||
|
||||
### Добавление новых функций
|
||||
1. Создайте новую кнопку в `main_interface.py`
|
||||
2. Добавьте обработчик в `main_window.py`
|
||||
3. Реализуйте логику в `ai_worker.py` при необходимости
|
||||
|
||||
### Расширение медицинского корпуса
|
||||
Добавьте новые примеры в `rag_corpus.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"short": "новые симптомы",
|
||||
"full": "Развернутое медицинское описание с профессиональной терминологией"
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user