Trans_for_doctors / README_GUI.md
Mintik24's picture
🎉 Полный рефакторинг проекта Medical Transcriber
e275025

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 приложение (Рекомендуется)

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

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

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

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

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

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

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

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

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

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

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

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

# Установка зависимостей
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 - 📘 Полное руководство по использованию GUI приложения ⭐
  • BUILD_EXE.md - Инструкции по сборке Windows .exe

Для разработчиков:

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

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

  1. Запустить приложение

    python run_gui.py
    # или запустить dist\MedicalTranscriber.exe (после сборки)
    
  2. Выбрать аудиофайл - вкладка "Транскрибирование" → кнопка "Обзор..."

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

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

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

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

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

📖 Полное руководство: 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

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

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

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

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

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

Запуск GUI из Python:

python run_gui.py

Запуск скомпилированного .exe:

dist\MedicalTranscriber.exe

Собрать новый .exe:

# Автоматическая сборка (рекомендуется)
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)

for file in *.wav; do
  uv run transmed \
    --audio "$file" \
    --model . \
    --llm \
    --generate-report
done

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

Проблема: Модель не найдена

Решение: Скачайте модель Whisper и укажите путь в настройках

huggingface-cli download openai/whisper-base-ru --local-dir ./whisper_model

Проблема: API ключ неверный

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

Проблема: Чёрный экран при запуске

Решение: Подождите 30-60 секунд (загрузка модели), проверьте консоль

📖 Полный гайд по проблемам: 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
  2. Скачайте/собака .exe из dist/MedicalTranscriber.exe
  3. Запустите и наслаждайтесь!

Для разработчика:

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

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

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