A command line tool to:
- list apps
- deploy configurations for Speechly apps
- generate a sample from the configuration to see how the SAL is transformed into text
- see statistics about the usage of Speechly apps
- evaluate deployed Speechly app
Learn about the configuration syntax and other topics in the Speechly docs.
There are binary releases for macOS, Linux and Windows, see releases. Also a Docker image is built and published.
If you are using Homebrew, you can install the speechly
command with:
brew tap speechly/tap
brew install speechly
to get the latest release
After tapping, normal brew updates will include any new versions of speechly
.
Scoop is a package manager for Windows. speechly
can be installed with scoop with:
scoop bucket add speechly https://github.com/speechly/scoop-bucket
scoop install speechly
to install the latest release
You can get updates with scoop update
.
You need an API key to be able to access the API. After creating one in the Speechly dashboard, create a configuration file for the CLI by adding a configuration context:
speechly config add --name default --apikey APIKEY [--host api.speechly.com]
The latest context added will be used as the current context. See help for config command to discover other uses.
Another option is to set the API key as an environment variable, where the tool will pick it up and use it automatically. Just set env variable SPEECHLY_APIKEY
and run!
After configuration of the Speechly CLI, it is possible to:
create
create a new application in the current context (project)download
fetch the current app configuration to a local directorylist
list apps in projectdescribe
describe apps to get their statusdeploy
deploy to upload a directory containing SAL configuration file(s), train a model out of them and take the model into use.sample
sample a set of examples from the given SAL configurationvalidate
validate the given SAL configuration for syntax errorsstats
see statistics about the apps in current contextdelete
delete an existing applicationevaluate
evaluate deployed app using list of examples
The versioning of the SAL configuration files should be done properly, ie. keep them in a version control system. Consider the deploy/download functionality to be a tool for the training pipeline instead of collaboration or versioning.
Read our tutorial for more information on using the Command Line Tool
Fully automated usage is easily possible, you need only the API key and the app_id
. As the cli is also published to the Docker hub, it can be added to all tools supporting docker images as run steps.
Basic example with bash, mounting the current directory as the working directory:
export SPEECHLY_APIKEY=your_apikey
export APP_ID=your_appid
# validate app:
docker run -it --rm -e SPEECHLY_APIKEY -v $(pwd):$(pwd) -w $(pwd) speechly/cli validate -a ${APP_ID} config-dir
# deploy app:
docker run -it --rm -e SPEECHLY_APIKEY -v $(pwd):$(pwd) -w $(pwd) speechly/cli deploy -a ${APP_ID} config-dir -w
The configuration validation and deployment tasks can be set up as separate workflows in Github Actions. The following examples expect the app_id
and API key to be set up as repository secrets. They also expect the configuration file(s) to be located in configuration-directory
in the root of the repository.
name: validate Speechly config
on:
pull_request:
branches:
- master
paths:
- "configuration-directory/**"
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://speechly/cli:latest
with:
args: validate -a ${{ secrets.APPID }} configuration-directory
env:
SPEECHLY_APIKEY: ${{ secrets.SPEECHLY_APIKEY }}
name: deploy Speechly config
on:
push:
branches:
- master
paths:
- "configuration-directory/**"
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://speechly/cli:latest
with:
args: deploy -a ${{ secrets.APPID }} configuration-directory -w
env:
SPEECHLY_APIKEY: ${{ secrets.SPEECHLY_APIKEY }}
There are github actions for CI/CD, and locally you can run make test
to run tests and make lint
to run golangci-lint for the code.
See the Speechly API for more information about the API and how to access it, as well as documentation.
Speechly is a developer tool for building real-time multimodal voice user interfaces. It enables developers and designers to enhance their current touch user interface with voice functionalities for better user experience. Speechly key features:
- Fully streaming API
- Multi modal from the ground up
- Easy to configure for any use case
- Fast to integrate to any touch screen application
- Supports natural corrections such as "Show me red – i mean blue t-shirts"
- Real time visual feedback encourages users to go on with their voice