-
Notifications
You must be signed in to change notification settings - Fork 8
snowboy
С 2021 года Kitt-AI отключили Snowboy API для создания персональных моделей, но выложили код для их генерации оффлайн - https://github.com/seasalt-ai/snowboy. Несомненный плюс - теперь это полностью локальный HWD, но его использование стало сложнее. Также можно использовать универсальные модели.
Обычно src/lib/_snowboydetect.so
собирается при установке, но если что-то пошло не так проще всего пересобрать его скриптом:
./scripts/snowboy_build.sh
Важно! Скрипт нужно запускать после ./scripts/install.sh
, т.к. он устанавливает все необходимые зависимости.
Для сборки нужен swig 3.0.10 и выше, если у вас старый swig и вы получаете ошибку ImportError: No module named '_snowboydetect'
т.к. snowboy не собирается
Обновите swig:
sudo apt update
sudo apt-get install -y build-essential libpcre3-dev autoconf automake libtool bison git libboost-dev python-dev ruby ruby-dev tcl-dev mono-devel lua5.1 liblua5.1-0-dev octave liboctave-dev
git clone https://github.com/swig/swig.git
cd swig
./autogen.sh
./configure
make
sudo make install
cd ..
rm -rf swig/
И снова запустите скрипт сборки snowboy.
Для компиляции используется докер-образ. Для его запуска нужна локальная машина amd64 (или способная запускать их образы), одноплатники не подходят.
Установите сам docker и запустите образ: docker run -d -p 8888:8888 aculeasis/snowboy-pmdls
.
На отличных от линукс ОС могут использоваться другие команды для запуска. Убедитесь порт 8888 не заблокирован для входящих соединений фаерволом, к нему будет подключаться терминал для генерации моделей.
Измените в settings.ini [snowboy] url
так, что бы вместо https://snowboy.kitt.ai
было http://<IP>:8888
, где IP - машина с докером.
Например для локалхоста будет [snowboy] url = http://127.0.0.1:8888/api/v1/train/
, для 192.168.0.100 будет [snowboy] url = http://192.168.0.100:8888/api/v1/train/
и т.п.
Сохраните модели, которые хотите использовать, из репозитория Snowboy в папку mdmTerminal2/src/resources/models/
.
Добавьте фразы для новых моделей в settings.ini, например:
[models]
computer.umdl = computer
jarvis.umdl = jarvis | джарвис
Поменяйте настройки в зависимости от выбранных моделей. ApplyFrontend это [noise_suppression] snowboy_apply_frontend
, SetSensitivity - [settings] sensitivity
.
И перезапустите терминал.