Skip to main content

Project Alice CLI tool

Project description

nluTrainer

A decentralized NLU trainer

The idea behind this small tool is to provide a simple trainer on your Network for Alice to use. Training the NLU is a costly operation and your device running ProjectAlice might get slow at it the more skills you have. In order for Alice to use it, turn on the option delegateNluTraining

Users

To use this, create a Virtual Environment wherever you wish on your main computer, be it Windows, Linux or Mac, on a Synology station, whatever network device that can run python. Make sure this device runs Python 3.7!

python3.7 -m venv venv

Activate your virtual environment and install the nlu trainer with pip:

pip install projectalice-nlu-trainer

That's all you need to install!

Devs of this tool

  • Clone this repository
  • Open a terminal on whatever OS you are
  • CD to the path where you cloned this repository
  • Create a python 3.7 virtual environment: python -m venv
  • Activate your virtual environment
  • Install the package in dev mode: pip install --editable .

Usage

Run the trainer using this command, in your terminal:

alice-trainer --host ALICE_IP

You can also define some other options with arguments:

  • -h / --host: Define the Mqtt hostname, generally it's Alice's main unit IP address
  • -p / --port: Define the Mqtt port, by default 1883
  • -u / --user: Define a Mqtt username to connect with
  • -s / --password: Define a Mqtt password to connect with
  • -f / --tls_file: Define the path to your TLS certificate file to connect with, if you Mqtt server requires it

As you want it to be always running, you might want to automate it to run at computer boot.

Messages

  • projectalice/nlu/doTrain : Send this message to have the trainer train on the data in payload.

Payload structure:

{
    "language": "en",
    "data": "the data to train the NLU on, as a json string"
}
  • projectalice/nlu/trainerReady : Sent when the trainer has started and connected

  • projectalice/nlu/trainerStopped : Sent when the trainer is stopped

  • projectalice/nlu/trainingFailed : Sent if the training failed with the reason as payload

  • projectalice/nlu/trainingResult/# : Sent when the training is finished with the zipped result as a bytearray in payload. The mqtt topic last level is the file control hash (hashlib.blake2b(result.read_bytes()).hexdigest())

Nice to know

  • The trainer can only train if it's not already training.
  • The trainer will download the language pack each time a training is asked
  • You can only train Snips NLU on this for now
  • You are limited to Snips NLU supported languages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

projectalice-nlu-trainer-0.0.5.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

projectalice_nlu_trainer-0.0.5-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file projectalice-nlu-trainer-0.0.5.tar.gz.

File metadata

  • Download URL: projectalice-nlu-trainer-0.0.5.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for projectalice-nlu-trainer-0.0.5.tar.gz
Algorithm Hash digest
SHA256 eaaf585dbfc8e7167610384e2d1650b3e4e993b0f6f0b66b16859feef7b7978a
MD5 f49fd09a0f59c588ed044cb4253c0ab7
BLAKE2b-256 daa321389a3d9cb7dac68a3c8075030f169b7f1b935f8f0f270bacb8fb3f537c

See more details on using hashes here.

File details

Details for the file projectalice_nlu_trainer-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: projectalice_nlu_trainer-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for projectalice_nlu_trainer-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3dd470ff6211efce367de27722552577cd12a0ffd277b873d7c6a1a060be8a7a
MD5 2c728f281199c13bd091045364c38cd3
BLAKE2b-256 818d303bf7c9aaf044fbb754408bdb662b0715f7e6d924ea3e0cddc98d31c2f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page