@keymanapp/lmlayer-cli v12.0.4093-beta.0
Predictive text testing CLI
Provides a command line interface to try out predictive text models.
Install
NOTE: Requires Node >= 10.0
First, ensure that Keyman web and the LMLayer are built. You can run the
build script in /web/source to do this for you:
cd ../../../web/source
./build.shThen, you can install locally with npm:
npm installOr you can install globally like so:
npm install -g .When installed globally, you can invoke the CLI using the lmlayer-cli
command.
Usage
Interactive mode
Start it in interactive mode like so:
$ ./index.js -f path/to/model.js # local
$ lmlayer-cli . -f path/to/model.js # globalYou will be presented with a prompt. Type any phrase in the model's language.
- Press Tab to start selecting a suggestion.
- Press Tab again to select the next suggestion.
- Press Shift+Tab to select the previous suggestion.
- Press Enter to accept the selected suggestion.
- Press Ctrl+C or Ctrl+D to quit.
> He
[Hello] [Hey] [He he]Batch mode
Instead of using lmlayer-cli interactively, you can give the model one
or more phrases in batch mode. Either pass in a newline-separated file
with -i, or one or more phrases with -p. You can also pipe input to
lmlayer-cli, and it will read each line as a phrase.
$ lmlayer-cli author.bcp47.uniq -p "a test phrase" -p "another test phrase"
$ lmlayer-cli author.bcp47.unq -i my-test-file.txt
$ echo "anything from stdin" | lmlayer-cli author.bcp47.uniqThe output is tab-separated, with the first column being the input, and the remaining columns being the suggestions, e.g.,
$ lmlayer-cli example.en.wordlist -p "d"
d dinosaur dumbo octopus
$ echo "c" | "lmlayer-cli example.en.wordlist
c cat cheetahDefining the LMPATH environment variable
You can also load models by their model ID. For example,
$ ./index.js example.en.model # local
$ lmlayer-cli example.en.model # globalFor this to work, you need to define the LMPATH environment variable.
The CLI will search the directory specified in LMPATH to find the
particular model.
For example, say you have
lexical-models cloned in
your home directory. To be able to access any of the release build
lexical models, export the LMPATH variable as follows:
export LMPATH="${HOME}/lexical-models/release"This line usually goes in your shell startup file, e.g., ~/.bashrc,
~/.bash_profile, or ~/.zshrc, etc.
Then, any lexical model built in ~/lexical-models/release can be used
in the command line interface.