Fix: использование локальной модели Vosk для распознавания речи

- Модель находится в ./models/vosk/vosk-model-ru-0.22
- Обновлён путь к модели в speech.py
- STT_MODEL=vosk в .env

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-03-18 23:42:27 +08:00
parent 96c62b4c3e
commit da3058194f
1 changed files with 10 additions and 6 deletions

View File

@ -26,16 +26,20 @@ class SpeechRecognizer:
from vosk import Model, KaldiRecognizer
import json
model_path = os.path.expanduser("~/.vosk/models/vosk-model-ru")
# Путь к модели в папке проекта
model_path = "./models/vosk/vosk-model-ru-0.22"
if not os.path.exists(model_path):
logger.warning(f"Модель Vosk не найдена по пути {model_path}. Переключаюсь на Whisper")
self.model_name = "whisper"
logger.warning(f"Модель Vosk не найдена по пути {model_path}")
return
if self.model_name == "whisper":
self.model = Model(model_path)
logger.warning("Модель Vosk загружена")
elif self.model_name == "whisper":
from faster_whisper import WhisperModel
logger.warning("Первый запуск Whisper может занять время - скачивается модель (~100MB)")
self.model = WhisperModel("tiny", device="cpu", compute_type="int8")
logger.warning("Первый запуск Whisper может занять время - скачивается модель (~250MB)")
self.model = WhisperModel("small", device="cpu", compute_type="int8")
except Exception as e:
logger.error(f"Ошибка загрузки модели распознавания: {e}")