Files
cosmo-voice-assistant/install_mac.sh
Daniil Klimov 110d9cde29 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>
2026-04-11 11:19:53 +03:00

62 lines
2.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
set -e
echo "============================================"
echo " Установка Cosmo на macOS"
echo "============================================"
# --- Python ---
# Предпочитаем 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.12"
exit 1
fi
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
echo "[1/5] Устанавливаю системные зависимости через Homebrew..."
brew install portaudio ffmpeg 2>/dev/null || true
else
echo "Homebrew не найден — пропускаю системные зависимости."
echo "Если будут ошибки с аудио — установи: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\""
fi
echo "[2/5] Создаю виртуальное окружение..."
rm -rf venv
$PYTHON_BIN -m venv venv
source venv/bin/activate
echo "[3/5] Обновляю pip и устанавливаю зависимости..."
pip install --upgrade pip
pip install -r requirements.txt
echo "[4/5] Устанавливаю faster-whisper..."
# На Mac (Apple Silicon) используем CPU compute type
pip install faster-whisper
echo "[5/5] Устанавливаю openwakeword..."
pip install openwakeword
python -c "import openwakeword; openwakeword.utils.download_models()" 2>/dev/null || true
echo ""
echo "============================================"
echo " Установка завершена!"
echo ""
echo " Следующие шаги:"
echo " 1. Установи и запусти Ollama: https://ollama.com"
echo " 2. Скачай модель: ollama pull qwen2.5:7b"
echo " 3. Запусти Cosmo: bash run_mac.sh"
echo "============================================"