File size: 5,140 Bytes
c92cda6 e275025 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c c92cda6 3cda35c e275025 3cda35c c92cda6 3cda35c c92cda6 3cda35c e275025 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# 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).
|