Files
microdao-daarion/services/stt-service/README.md
Apple e0cb3ddbdb refactor: rewrite STT service to use qwen3_asr_toolkit Python API
- 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
2025-11-15 12:55:21 -08:00

3.3 KiB
Raw Blame History

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

Отримання API ключа DashScope

  1. Зареєструйтеся на https://dashscope.console.aliyun.com/
  2. Створіть API ключ в розділі "API Keys"
  3. Встановіть змінну середовища DASHSCOPE_API_KEY

Інтеграція з Gateway

Gateway автоматично використовує STT-сервіс для обробки голосових повідомлень з Telegram:

  1. Користувач надсилає voice/audio/video_note
  2. Gateway завантажує файл з Telegram
  3. Gateway відправляє файл в STT-сервіс
  4. STT повертає розпізнаний текст
  5. Текст відправляється в 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, але деякі можуть його потребувати.