Trans_for_doctors / README.md
Mintik24's picture
🎉 Полный рефакторинг проекта Medical Transcriber
e275025
# 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).