45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# ASR-микросервис для calls24.ru
|
|
# Распознавание речи: whisper-large-v3-russian + Qwen3-ASR-1.7B
|
|
|
|
FastAPI-сервис распознавания речи для анализа записанных звонков.
|
|
Две модели: Qwen3-ASR-1.7B (новее, точнее) и whisper-large-v3-russian.
|
|
|
|
## Структура
|
|
```
|
|
app/
|
|
├── __init__.py
|
|
├── main.py # FastAPI app, роуты
|
|
├── engine.py # Движки ASR (whisper + qwen3)
|
|
└── config.py # Pydantic Settings
|
|
```
|
|
|
|
## Запуск
|
|
```bash
|
|
cd /home/neo/workspace/asr-microservice
|
|
~/gigaam-env/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
|
|
```
|
|
|
|
## API
|
|
- `GET /health` — статус моделей
|
|
- `POST /transcribe` — загрузка аудиофайла, параметр `model` (qwen3|whisper)
|
|
|
|
### Пример
|
|
```bash
|
|
curl -X POST "http://localhost:8000/transcribe?model=qwen3" \
|
|
-F "file=@/tmp/test_silero.wav"
|
|
```
|
|
|
|
## Конфиг
|
|
Переменные окружения (см. .env.example):
|
|
- `DEVICE` — cuda / cpu
|
|
- `WHISPER_MODEL_PATH` — путь к checkpoint whisper
|
|
- `QWEN_MODEL_NAME` — модель Qwen3-ASR
|
|
|
|
## Зависимости
|
|
```bash
|
|
~/gigaam-env/bin/python -m pip install fastapi uvicorn python-multipart librosa soundfile
|
|
```
|
|
Модели уже скачаны:
|
|
- whisper: `/home/neo/models/whisper-russian`
|
|
- qwen3: `Qwen/Qwen3-ASR-1.7B` (автоматическая загрузка)
|