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