Almond
Almond is an open, privacy-preserving virtual assistant by Stanford Open Virtual Assistant Lab. It allows you, among other things, to control Open Peer Power using natural language. Once installed, it will be available via the microphone icon in the top right.
Almond consists of three parts:
- Almond Server: Knows about Open Peer Power and your data. Executes your sentences.
- LUInet: Neural network that converts your sentences into Thingtalk programs.
- Thingpedia: Skills that provide the building blocks for Thingtalk programs.
Installation
Open Peer Power add-on installation
To install Almond Server, go to the Open Peer Power add-on store, search for Almond and click on Install. Once started, it will initiate a configuration flow to finish set up in Open Peer Power. You can find it on the integrations page in the configuration panel.
Manual installation
You can install Almond Server by following the instructions in their README.
Before linking it to Open Peer Power, you will need to visit the Almond UI once to create a password. It is by default available on port 3000.
Once installed, configure Almond like this:
# Example configuration.yaml entry
almond:
type: local
host: http://127.0.0.1:3000
The Almond integration does not update configuration entries yet. If you make a change to configuration.yaml, you will need to remove the configuration entry and then restart Open Peer Power.
Almond Web
Stanford offers a hosted version of Almond Server called Almond Web. To use this, go to the integrations page and add Almond using the add integration flow.
Your Open Peer Power installation needs to be externally accessible if you want Almond Web to be able to control Open Peer Power.
Almond Web - Manual installation
It is possible to set up Almond Web manually. You will need to create your own client ID and secret in the web interface.
# Example configuration.yaml entry
almond:
type: oauth2
client_id: AAAAAAAAAAAAA
client_secret: BBBBBBBBBBBBBBBBB
You can now go to the integrations page and start the configuration flow.
Language Support
Almond is currently limited to the English language. This is not a technical limitation but requires specialized engineering effort. Almond has currently no public timeline for adding other languages.
Device Support
Almond is constantly improving. It does not currently support all devices, but we’re working with Almond on improving this.