| # 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) | |