myagent-ai 1.16.9 → 1.16.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/web/api_server.py +34 -13
package/package.json
CHANGED
package/web/api_server.py
CHANGED
|
@@ -1093,21 +1093,18 @@ class ApiServer:
|
|
|
1093
1093
|
|
|
1094
1094
|
# ── 尝试 faster-whisper ──
|
|
1095
1095
|
try:
|
|
1096
|
-
|
|
1097
|
-
import warnings
|
|
1098
|
-
warnings.filterwarnings("ignore", message=".*HF_TOKEN.*", category=UserWarning)
|
|
1099
|
-
warnings.filterwarnings("ignore", message=".*huggingface_hub.*token.*", category=UserWarning)
|
|
1100
|
-
warnings.filterwarnings("ignore", message=".*ffmpeg or avconv.*", category=RuntimeWarning)
|
|
1101
|
-
# 抑制 HF Hub telemetry 和进度条
|
|
1102
|
-
os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
|
|
1103
|
-
os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
|
|
1104
|
-
os.environ.setdefault("TRANSFORMERS_VERBOSITY", "error")
|
|
1105
|
-
|
|
1106
|
-
from faster_whisper import WhisperModel
|
|
1107
|
-
whisper_model = getattr(self, '_whisper_model', None)
|
|
1096
|
+
whisper_model = self._whisper_model
|
|
1108
1097
|
if whisper_model is None:
|
|
1098
|
+
# 预加载未完成或未安装,尝试懒加载
|
|
1099
|
+
import warnings as _w
|
|
1100
|
+
_w.filterwarnings("ignore", message=".*HF_TOKEN.*", category=UserWarning)
|
|
1101
|
+
_w.filterwarnings("ignore", message=".*huggingface_hub.*token.*", category=UserWarning)
|
|
1102
|
+
_w.filterwarnings("ignore", message=".*ffmpeg or avconv.*", category=RuntimeWarning)
|
|
1103
|
+
os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
|
|
1104
|
+
os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
|
|
1105
|
+
os.environ.setdefault("TRANSFORMERS_VERBOSITY", "error")
|
|
1106
|
+
from faster_whisper import WhisperModel
|
|
1109
1107
|
model_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'models', 'whisper')
|
|
1110
|
-
# 使用 tiny 模型(最轻量,~39MB),CPU int8 量化
|
|
1111
1108
|
self._whisper_model = WhisperModel("tiny", device="cpu", compute_type="int8",
|
|
1112
1109
|
download_root=model_dir)
|
|
1113
1110
|
whisper_model = self._whisper_model
|
|
@@ -5710,6 +5707,30 @@ class ApiServer:
|
|
|
5710
5707
|
# 加载禁用技能列表
|
|
5711
5708
|
self._load_disabled_skills()
|
|
5712
5709
|
|
|
5710
|
+
# [v1.16.10] 后台预加载 STT 模型,避免首次语音识别时等待数秒
|
|
5711
|
+
# 在后台线程中加载,不阻塞服务启动
|
|
5712
|
+
try:
|
|
5713
|
+
import threading
|
|
5714
|
+
def _preload_stt():
|
|
5715
|
+
try:
|
|
5716
|
+
import warnings
|
|
5717
|
+
warnings.filterwarnings("ignore")
|
|
5718
|
+
os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
|
|
5719
|
+
os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
|
|
5720
|
+
os.environ.setdefault("TRANSFORMERS_VERBOSITY", "error")
|
|
5721
|
+
from faster_whisper import WhisperModel
|
|
5722
|
+
model_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'models', 'whisper')
|
|
5723
|
+
self._whisper_model = WhisperModel("tiny", device="cpu", compute_type="int8",
|
|
5724
|
+
download_root=model_dir)
|
|
5725
|
+
logger.info("STT faster-whisper 模型预加载完成")
|
|
5726
|
+
except ImportError:
|
|
5727
|
+
logger.debug("faster-whisper 未安装,跳过 STT 预加载")
|
|
5728
|
+
except Exception as e:
|
|
5729
|
+
logger.debug(f"STT 模型预加载失败(不影响使用): {e}")
|
|
5730
|
+
threading.Thread(target=_preload_stt, daemon=True).start()
|
|
5731
|
+
except Exception:
|
|
5732
|
+
pass
|
|
5733
|
+
|
|
5713
5734
|
# 恢复被中断的任务:自动重新投递群聊任务
|
|
5714
5735
|
try:
|
|
5715
5736
|
tp = self._get_task_persistence()
|