Genie Community Forum

New Release: Genie 1.0

I am very happy to announce that Genie 1.0 has been tagged and is now available.
This is the culmination of many months of work since the last Almond 2.0, and is a significant improvement over the previous Almond assistant.

Release Notes

New Features for Users

  • The assistant was rebranded as Genie. The wake word is now “Hey Genie”;vthe web UI has a new neutral color scheme.
  • Expanded the set of skill to support all the most commonly used skills:
    • Timers, alarms, reminders
    • Weather
    • Music (Spotify)
    • Podcasts
    • News
    • Radio
    • IoT (Home Assistant)
    • Question Answering (Bing)
    • Yelp Restaurants
  • All skills were improved and have higher accuracy as well as more natural and grammatical responses.
  • Added one-off timers and more flexible time specifications such as “this weekend”, “tomorrow at 9pm”, etc.
  • It is now possible to run separate Genie clients connecting to the same Genie server. This allows building “satellite” speakers that control the same Genie assistant running in Home Assistant or in the cloud. Note: running a standalone Genie client outside of a Genie server container is still experimental and might not work.

New Features for Developers

  • The set of customizable phrases in each skill was expanded, allowing more flexible natural language generation.
  • Genie can now start the dialogue with a custom command, and supports arbitrary follow-up at the end of a transactional command.
  • Support for the RecurrentTimeSpecification type was completed. This is used for example by Yelp opening hours.

Under-the-Hood Improvements

  • In the cloud platform, Genie engines now store their data in the MySQL database. They can be terminated and restarted without losing data, which improves scalability to many users. A new Kubernetes controller was added to automatically start and stop engines as needed.
  • The voice code was revamped and is now handled by a separate genie-client package, written in C++. This is more suitable to running on embedded devices.

Experimental and Ongoing Work

  • Added support for deciding if a command is correct based on confidence scores, as well as dispatching out to other services if a command is likely unsupported. This is experimental and currently not enabled.
  • Added support for translating the assistant and the skills using Gettext. This is experimental and no language other than English is fully supported yet. Work is ongoing to support Italian, Chinese, Spanish.

Getting Genie 1.0

The cloud version of Genie is live on genie.stanford.edu, which currently redirects to dev.genie.stanford.edu.
On Friday, January 7th, existing users of almond.stanford.edu will be migrated to the new version, and the new backend will be deployed. Please expect significant downtime, starting at around 9am Pacific Time. I will post here when the migration is complete.

  • The Home Assistant add-on is currently under review. It will be available when it is approved by the Home Assistant developers.
  • The standalone Genie server is available on dockerhub, but note that it is not functional until the new backend is deployed.

Note: this release does not include the Gtk desktop version. It might be released at a later time, if resources are available.

Giving Feedback

If you encounter any issue with the release, please let us know. You can reach us here in he community forum, on Discord, or by filing an issue on GitHub.
If you file an issue, please include the detailed conversation log.

5 Likes

Migration of the cloud services has started. I’ll post here when it’s complete.

Migration is complete, enjoy!

2 Likes