| # Trans for Doctors - Установка и использование | |
| ## Основные возможности | |
| - 🎤 **STT (Speech-to-Text)** - транскрибация аудио с помощью Whisper | |
| - 📚 **Knowledge Base** - база медицинских терминов | |
| - 🤖 **LLM Коррекция** - исправление ошибок через OpenRouter API | |
| - Поддержка Google Gemini (рекомендуется) | |
| - Поддержка OpenAI GPT-4o | |
| - Поддержка Anthropic Claude | |
| - Множество других моделей через OpenRouter | |
| - 📄 **Report Generation** - генерация DOCX отчетов | |
| ## CLI (uv) — end-to-end пайплайн | |
| После `uv sync` доступен CLI-скрипт `transmed` для запуска ступенчатой архитектуры STT → KB → LLM → (отчет): | |
| ```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 | |
| ``` | |
| Параметры: | |
| - `--audio`: путь к .wav | |
| - `--model`: папка с локальной Whisper-моделью (в корне проекта) | |
| - `--terms`: файл терминов (Knowledge Base) | |
| - `--llm` / `--no-llm`: включить/выключить коррекцию через LLM | |
| - `--openrouter-key`: ключ OpenRouter (по умолчанию берет `OPENROUTER_API_KEY` из окружения) | |
| - `--generate-report`: сформировать DOCX отчет | |
| - `--results-dir`, `--logs-dir`: каталоги для выходных данных | |
| 💡 **OpenRouter:** Доступ к Google Gemini, GPT, Claude и другим моделям! См. [corrector/OPENROUTER.md](corrector/OPENROUTER.md) | |
| ## Быстрый старт (UV) | |
| ### Предварительные требования | |
| - Python 3.13+ (torch GPU колеса требуют совместимую версию) | |
| - Git | |
| - Установленный менеджер uv | |
| ```bash | |
| # macOS/Linux | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| # Windows (PowerShell) | |
| powershell -ExecutionPolicy BypassUser -c "irm https://astral.sh/uv/install.ps1 | iex" | |
| ``` | |
| ### Установка | |
| ```bash | |
| git clone <ваш-репозиторий> | |
| cd Trans_for_doctors | |
| # uv сам создаст .venv и установит зависимости из pyproject.toml | |
| uv sync | |
| source .venv/bin/activate # Windows: .venv\Scripts\activate | |
| ``` | |
| ### Подготовка CUDA (опционально) | |
| uv sync ставит базовый torch. Для GPU поставьте колесо под свою версию CUDA 13.0: | |
| ```bash | |
| # CUDA 13.0 (cu130) | |
| uv pip install --upgrade \ | |
| --index-url https://download.pytorch.org/whl/cu130 \ | |
| torch torchvision torchaudio | |
| ``` | |
| Проверка GPU: | |
| ```bash | |
| uv run python - <<'PY' | |
| import torch | |
| print(torch.cuda.is_available()) | |
| print(torch.cuda.device_name(0) if torch.cuda.is_available() else "cpu") | |
| PY | |
| ``` | |
| ### Запуск | |
| ```bash | |
| uv run python run_demo.py \ | |
| --device auto \ | |
| --dtype float32 \ | |
| --medical-prompt medical_terms.txt \ | |
| --audio test_sound_ru.wav | |
| ``` | |
| - --device auto выберет CUDA если доступно, иначе CPU. | |
| - Для GPU: --device cuda --dtype float32 | |
| - Для CPU: --device cpu --dtype float32. | |
| ## Структура проекта | |
| - run_demo.py — основной скрипт | |
| - app/main.py — CLI для полного пайплайна (зарегистрирован как `transmed`) | |
| - pyproject.toml — зависимости для uv | |
| - requirements.txt — совместимость для pip | |
| - Конфиги модели (config.json, generation_config.json, tokenizer_config.json и т.д.) | |
| - medical_terms.txt — медицинская терминология | |
| - Логи и результаты — папки logs/ и results/ | |
| ## CLI параметры | |
| - --audio — путь к аудиофайлу (по умолчанию test_sound_ru.wav) | |
| - --medical-prompt — путь к файлу терминов | |
| - --language — код языка (по умолчанию ru) | |
| - --device — auto | cuda | cpu | |
| - --dtype — auto | float32 | float16 | bfloat16 | |
| ## Альтернатива: pip без uv | |
| ```bash | |
| python -m venv venv | |
| source venv/bin/activate # Windows: venv\Scripts\activate | |
| pip install -r requirements.txt | |
| python run_demo.py | |
| ``` | |
| ## Решение проблем | |
| - Модель не скачивается: проверьте сеть и выполните huggingface-cli login. | |
| - CUDA OOM: запустите на CPU (--device cpu) или используйте float16 на меньшей карте. | |
| - Нет прав записи: убедитесь, что у вас есть права на каталог (chmod -R 755 ./). | |
| ## Windows .exe сборка (uv + PyInstaller) | |
| Инструкции по сборке единичного `.exe` лежат в [packaging/windows/README.md](packaging/windows/README.md). | |