Mac M1 optimizations, fix train pipeline, add Hey Cosmo wake word model
- Fix install_mac.sh: use venv + Python 3.12 (3.14 incompatible with ML libs) - Fix run_mac.sh: activate venv, add CPU thread optimization env vars - Fix agent.py: remove f-string from SYSTEM_PROMPT template (NameError on import) - Add missing deps: sounddevice, pydub, imageio-ffmpeg, omegaconf - Optimize for M1: torch.inference_mode, set_num_threads, OMP/MKL tuning - Switch to qwen2.5:3b for faster LLM responses on Mac - Switch Whisper to medium model with auto compute (small+int8 had poor Russian) - Add initial_prompt for better Russian transcription - Add open_app tool for native macOS app launching - Fix TTS: sanitize Latin text to Cyrillic for Silero compatibility - Fix wake word echo: add cooldown after TTS, reset model state, raise threshold - Make "Слушаю" TTS synchronous to avoid mic interference - Fix train Dockerfile: remove tensorflow/onnx2tf (only ONNX needed), fix deps - Fix train.sh: use wget for dataset download, add --shm-size=2g - Add trained hey_cosmo.onnx wake word model - Add TODO section to CLAUDE.md (ChatterBox TTS, Ollama Modelfile ideas) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,14 +6,23 @@ echo " Установка Cosmo на macOS"
|
||||
echo "============================================"
|
||||
|
||||
# --- Python ---
|
||||
if ! command -v python3 &>/dev/null; then
|
||||
# Предпочитаем Python 3.12 (лучшая совместимость с ML-пакетами)
|
||||
PYTHON_BIN=""
|
||||
for py in python3.12 python3.11 python3.13 python3; do
|
||||
if command -v "$py" &>/dev/null; then
|
||||
PYTHON_BIN="$py"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$PYTHON_BIN" ]; then
|
||||
echo "ОШИБКА: Python3 не найден."
|
||||
echo "Установи через Homebrew: brew install python@3.11"
|
||||
echo "Установи через Homebrew: brew install python@3.12"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PYTHON_VERSION=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
|
||||
echo "Python: $PYTHON_VERSION"
|
||||
PYTHON_VERSION=$($PYTHON_BIN -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
|
||||
echo "Python: $PYTHON_VERSION ($PYTHON_BIN)"
|
||||
|
||||
# --- Homebrew зависимости ---
|
||||
if command -v brew &>/dev/null; then
|
||||
@@ -24,19 +33,22 @@ else
|
||||
echo "Если будут ошибки с аудио — установи: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\""
|
||||
fi
|
||||
|
||||
echo "[2/5] Обновляю pip..."
|
||||
python3 -m pip install --upgrade pip
|
||||
echo "[2/5] Создаю виртуальное окружение..."
|
||||
rm -rf venv
|
||||
$PYTHON_BIN -m venv venv
|
||||
source venv/bin/activate
|
||||
|
||||
echo "[3/5] Устанавливаю зависимости..."
|
||||
python3 -m pip install -r requirements.txt
|
||||
echo "[3/5] Обновляю pip и устанавливаю зависимости..."
|
||||
pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
|
||||
echo "[4/5] Устанавливаю faster-whisper..."
|
||||
# На Mac (Apple Silicon) используем CPU compute type
|
||||
python3 -m pip install faster-whisper
|
||||
pip install faster-whisper
|
||||
|
||||
echo "[5/5] Устанавливаю openwakeword..."
|
||||
python3 -m pip install openwakeword
|
||||
python3 -c "import openwakeword; openwakeword.utils.download_models()" 2>/dev/null || true
|
||||
pip install openwakeword
|
||||
python -c "import openwakeword; openwakeword.utils.download_models()" 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
|
||||
Reference in New Issue
Block a user