File size: 12,143 Bytes
e275025
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# Trans for Doctors - Медицинский транскрибер с GUI

## 🎯 Основные возможности

- 🎤 **STT (Speech-to-Text)** - транскрибация аудио с помощью Whisper
- 📚 **Knowledge Base** - специальная база медицинских терминов
- 🤖 **LLM Коррекция** - умное исправление ошибок через OpenRouter API
  - Google Gemini (рекомендуется для скорости)
  - OpenAI GPT-4o (лучшее качество)
  - Anthropic Claude (отличный баланс)
  - И 50+ других моделей через OpenRouter
- 📄 **Report Generation** - автоматическая генерация DOCX отчётов
- 🖥️ **GUI Приложение** - удобный интерфейс для Windows (.exe)

## 🚀 Быстрый старт

### Вариант 1: Windows .exe приложение (Рекомендуется)

**Для конечного пользователя:**

```bash
# 1. Скачайте dist/MedicalTranscriber.exe
# 2. Двойной клик для запуска
# Готово! Никакой установки не требуется
```

**Для разработчика (собрать .exe):**

```bash
# Установить зависимости
pip install -r requirements.txt

# Собрать Windows приложение
python build_exe.py

# Результат: dist/MedicalTranscriber.exe (~500 МБ - 1.5 ГБ)
```

📖 Подробная инструкция: [BUILD_EXE.md](BUILD_EXE.md)

### Вариант 2: GUI через Python

```bash
# Установить зависимости
pip install -r requirements.txt

# Запустить GUI
python run_gui.py
```

### Вариант 3: CLI (Command Line)

После `uv sync` доступен CLI-скрипт `transmed` для запуска пайплайна:

```bash
# Установка зависимостей
uv sync
uv pip install .[llm]  # для LLM-коррекции (OpenRouter)

# Запуск пайплайна
uv run transmed \
  --audio test_sound_ru.wav \
  --model . \
  --terms medical_terms.txt \
  --llm \
  --save-original --save-corrected --generate-report
```

Параметры CLI:
- `--audio`: путь к .wav
- `--model`: папка с локальной Whisper-моделью
- `--terms`: файл терминов (Knowledge Base)
- `--llm` / `--no-llm`: включить/выключить LLM коррекцию
- `--openrouter-key`: ключ OpenRouter (или из переменной окружения)
- `--generate-report`: создать DOCX отчёт
- `--results-dir`, `--logs-dir`: папки для сохранения

## 📖 Документация

### Для пользователей:
- **[USER_GUIDE.md](USER_GUIDE.md)** - 📘 Полное руководство по использованию GUI приложения ⭐
- **[BUILD_EXE.md](BUILD_EXE.md)** - Инструкции по сборке Windows .exe

### Для разработчиков:
- **[APP_ARCHITECTURE.md](APP_ARCHITECTURE.md)** - Архитектура и структура кода
- **[corrector/OPENROUTER.md](corrector/OPENROUTER.md)** - Интеграция с OpenRouter
- **[stt/README.md](stt/README.md)** - Модуль транскрибирования
- **[knowledge_base/README.md](knowledge_base/README.md)** - База медицинских терминов

## 🎨 GUI Приложение - Быстрый старт

### Как использовать:

1. **Запустить приложение**
   ```bash
   python run_gui.py
   # или запустить dist\MedicalTranscriber.exe (после сборки)
   ```

2. **Выбрать аудиофайл** - вкладка "Транскрибирование" → кнопка "Обзор..."

3. **Заполнить данные пациента** - кнопка "Заполнить данные пациента..."

4. **Выбрать опции** - включить LLM коррекцию и генерацию отчёта

5. **Нажать "▶ Начать транскрибирование"**

6. **Дождаться результатов** - обычно 2-5 минут

7. **Получить DOCX отчёт** - в папке `results/reports/`

📖 **Полное руководство**: [USER_GUIDE.md](USER_GUIDE.md)

## 🏗️ Архитектура проекта

```
Trans_for_doctors/
├── 🖥️ GUI Application
│   ├── run_gui.py                     # Точка входа GUI
│   ├── app/gui_app.py                 # Главное окно (PyQt6)
│   ├── build_exe.py                   # Сборка Windows .exe ⭐
│   └── build_windows.spec             # PyInstaller конфиг

├── 🔄 Pipeline (Ядро обработки)
│   ├── pipeline/medical_pipeline.py    # Оркестрация всех компонентов
│   ├── stt/whisper_transcriber.py      # STT модуль (транскрибирование)
│   ├── knowledge_base/                 # База медицинских терминов
│   ├── corrector/                      # LLM коррекция через OpenRouter
│   └── corrector/report_generator.py   # DOCX генератор отчётов

├── 📚 CLI Interface (через uv)
│   └── Поддержка команды `uv run transmed`

└── 📖 Documentation
    ├── USER_GUIDE.md                   # ⭐ Руководство для пользователей
    ├── BUILD_EXE.md                    # Сборка приложения
    ├── APP_ARCHITECTURE.md             # Техническая архитектура
    └── README.md                       # Этот файл
```

## 📋 Требования

### Для использования .exe приложения:
- **Windows 10+** (или Linux/macOS для Python версии)
- **4+ ГБ** оперативной памяти
- **2+ ГБ** свободного места на диске
- Интернет для OpenRouter API (опционально)

### Для разработки:
- Python 3.9+
- pip или uv
- Git

## 🔧 Установка для разработки

```bash
# Клонировать репозиторий
git clone <repo>
cd Trans_for_doctors

# Установить зависимости
pip install -r requirements.txt

# Для работы с uv (опционально)
pip install uv
uv sync
```

## 🚀 Запуск приложения

### Запуск GUI из Python:
```bash
python run_gui.py
```

### Запуск скомпилированного .exe:
```bash
dist\MedicalTranscriber.exe
```

### Собрать новый .exe:
```bash
# Автоматическая сборка (рекомендуется)
python build_exe.py

# Или вручную через PyInstaller
pyinstaller --onefile --windowed --name=MedicalTranscriber build_windows.spec
```

## 💾 Результаты и сохранение

### Папка структура после обработки:
```
results/
├── result_20260116_120530.json              # Оригинальная транскрипция (JSON)
├── result_20260116_120530_corrected.json    # Скорректированная версия (JSON)
└── reports/
    └── report_20260116_120530.docx          # Финальный DOCX отчёт ⭐

logs/
└── transcription_20260116_120530.log        # Логи обработки
```

### Содержание DOCX отчёта:
- 📌 Заголовок (название исследования)
- 👤 Информация о пациенте (ФИО, дата рождения, номер исследования)
- 📝 Протокол обследования (полная транскрипция)
- ✏️ Заключение (итоговое заключение врача)
- 💡 Рекомендации
- 🖊️ Подпись врача и дата

## 🔑 OpenRouter API

Для включения умной LLM коррекции:

1. Зарегистрируйтесь на https://openrouter.ai
2. Получите API ключ в Settings → Keys
3. Вставьте ключ в GUI приложение (вкладка "Настройки")
4. Выберите модель (GPT-4, Claude, Gemini и т.д.)

**Стоимость:** ~5-10 рублей за 1000 слов при коррекции

**Доступные модели:**
- `gpt-4o` - лучшее качество, дороже
- `claude-3-opus` - отличное качество, экономнее
- `gemini-pro` - хорошее качество, быстро
- `gpt-4-turbo` - баланс качества и цены

## 🎯 Примеры использования

### Пример 1: Базовая транскрибирование (без коррекции)
1. Запустить приложение
2. Выбрать аудиофайл
3. Отключить "Использовать LLM-коррекцию"
4. Запустить обработку

### Пример 2: Полная обработка с отчётом
1. Запустить приложение
2. Выбрать аудиофайл
3. Заполнить данные пациента (ФИО, дата рождения, врач)
4. Включить "LLM-коррекцию" и "Создать отчёт"
5. Запустить обработку
6. Получить готовый DOCX отчёт в папке `results/reports/`

### Пример 3: Пакетная обработка (CLI)
```bash
for file in *.wav; do
  uv run transmed \
    --audio "$file" \
    --model . \
    --llm \
    --generate-report
done
```

## 🐛 Решение проблем

### Проблема: Модель не найдена
**Решение:** Скачайте модель Whisper и укажите путь в настройках
```bash
huggingface-cli download openai/whisper-base-ru --local-dir ./whisper_model
```

### Проблема: API ключ неверный
**Решение:** Проверьте ключ на https://openrouter.ai, убедитесь в наличии кредитов

### Проблема: Чёрный экран при запуске
**Решение:** Подождите 30-60 секунд (загрузка модели), проверьте консоль

📖 **Полный гайд по проблемам**: [USER_GUIDE.md](USER_GUIDE.md#-решение-проблем)

## 📞 Техническая поддержка

- Проверьте логи в папке `logs/`
- Смотрите `USER_GUIDE.md` для типичных проблем
- Проверьте `BUILD_EXE.md` для проблем со сборкой
- Смотрите консоль при запуске через `python run_gui.py`

## 📝 История изменений

### v1.0 (Январь 2026)
- ✅ GUI приложение на PyQt6
- ✅ Интеграция с Whisper STT
- ✅ LLM коррекция через OpenRouter
- ✅ Автогенерация DOCX отчётов
- ✅ Сборка Windows .exe файла
- ✅ Полная документация для пользователей и разработчиков

---

## 🎉 Начните работу прямо сейчас!

### Для пользователя:
1. Скачайте [USER_GUIDE.md](USER_GUIDE.md)
2. Скачайте/собака .exe из `dist/MedicalTranscriber.exe`
3. Запустите и наслаждайтесь!

### Для разработчика:
1. Прочитайте [APP_ARCHITECTURE.md](APP_ARCHITECTURE.md)
2. Изучите исходный код в папках `app/`, `pipeline/`, `corrector/`
3. Запустите `python run_gui.py` для разработки

---

**Приложение готово к использованию! 🚀**

Для вопросов и поддержки обратитесь к [USER_GUIDE.md](USER_GUIDE.md)