- Replace Whisper subprocess calls with direct qwen3_asr_toolkit API - Remove subprocess dependencies, use pure Python API - Update to use DASHSCOPE_API_KEY instead of WHISPER_MODEL - Cleaner code without CLI calls - Better Ukrainian language recognition quality
STT Service (Speech-to-Text)
Сервіс для розпізнавання мови з аудіо файлів за допомогою Qwen3 ASR Toolkit.
Можливості
- Розпізнавання мови з голосових повідомлень (Telegram voice, audio, video_note)
- Підтримка форматів: ogg, mp3, wav, m4a, webm, flac
- Автоматична обробка та конвертація аудіо (всередині qwen3_asr_toolkit)
- Чистий Python API без subprocess/CLI викликів
- Висока якість розпізнавання української мови
Запуск
Локально (development)
cd services/stt-service
pip install -r requirements.txt
uvicorn main:app --reload --host 0.0.0.0 --port 9000
Docker
docker-compose up stt-service
API
POST /stt
Розпізнати мову з аудіо файлу.
Request:
file: аудіо файл (multipart/form-data)
Response:
{
"text": "розпізнаний текст",
"language": "uk",
"duration": 5.2
}
Приклад:
curl -X POST http://localhost:9000/stt \
-F "file=@voice.ogg"
GET /health
Health check endpoint.
Конфігурація
Environment Variables
DASHSCOPE_API_KEY: Обов'язково - API ключ DashScope для доступу до Qwen3 ASR API- Отримати ключ: https://dashscope.console.aliyun.com/
- Встановити:
export DASHSCOPE_API_KEY="your-api-key"
Отримання API ключа DashScope
- Зареєструйтеся на https://dashscope.console.aliyun.com/
- Створіть API ключ в розділі "API Keys"
- Встановіть змінну середовища
DASHSCOPE_API_KEY
Інтеграція з Gateway
Gateway автоматично використовує STT-сервіс для обробки голосових повідомлень з Telegram:
- Користувач надсилає voice/audio/video_note
- Gateway завантажує файл з Telegram
- Gateway відправляє файл в STT-сервіс
- STT повертає розпізнаний текст
- Текст відправляється в DAGI Router як звичайне текстове повідомлення
Встановлення залежностей
qwen3-asr-toolkit
pip install qwen3-asr-toolkit
ffmpeg (може знадобитися для деяких форматів)
# Ubuntu/Debian
sudo apt-get install ffmpeg
# macOS
brew install ffmpeg
# Docker
Вже включено в Dockerfile
Troubleshooting
Помилка: "qwen3_asr_toolkit not available"
Встановіть бібліотеку:
pip install qwen3-asr-toolkit
Помилка: "DASHSCOPE_API_KEY not configured"
Встановіть змінну середовища:
export DASHSCOPE_API_KEY="your-api-key"
Або додайте в docker-compose.yml:
environment:
- DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}
Помилка: "ffmpeg not found"
Встановіть ffmpeg (див. вище). Більшість форматів обробляються без ffmpeg, але деякі можуть його потребувати.