Assistant creation, skills collaboration, it's possible

Yes… We’ve asked for long to be able to collaborate for skills creation, but it’s not yet here… Well, it’s here for Project Alice though!

This is a long teaser for the assistant automatic creation at first boot, and new module installation, fully automated without me ever touching the console, with every bits of code coming from a github repository!

Enjoy!

7 Likes

Very cool stuff, keep it up :sunglasses:

It’s top … I have a little trouble understanding everything … I’ll have to hang on a little bit …
But I’m very interested in the work I’m doing on my home automation, where I’m trying to create a database of possible commands in my domotics mostly in KNX, directly to Mysql using Node-red … .
I can not understand how English and French are handled …

Thanks! What it shows is that I start Project Alice with no assistant on the console. By starting it, Alice reads the json files for her skills and create the skills, the intents and the slots, packs the assistant, trains it and downloads it. After that I ask the time, but there’s no skill for that, so I show how to download and install the skill, with one command (soon a user interface), that add the json skill to the assistant and instantly works

Wow :astonished:
Very cool!

Really very exciting !
Congratulations for your work.

I doubt I have the level to use it…
but this does not take anything away from the quality of the work done !

Bravo again, good luck ! :slight_smile:

Project Alice is meant for 0 command for the end user, except the install :slight_smile:

1 Like

It’s really beautiful …
Is this already usable from Github, with a guide for instalation ???
I get going as soon as my various projects in progress leave me time…
I answer by myself because three keywords later I’m on the project github Alice …

We were talking 2 days ago about releasing the beta and decided that in the coming week we gonna release and early state

While I think Project Alice is really awesome and you created a big set of very impressive features I’m not quite sure what the advantage of that specific feature is. It is awesome to see, that this is possible, but the use case makes me worry:
It removes the store from the process and makes it harder to find apps. It even adds a little bit more required command line. I would love something like “Hey Alice, install the time app”
The only advantage I can see at the moment, is, that the training data is on github as well, and other people can contribute. But wouldn’t a “submit training data” function on the existing snips console be more convenient and quite simple to add for snips? Maybe with reviews and voting on the training data. Or just the possibility to link a github just like for the code.

To me it sounds like a hard split between two standards with the same goals, do I use Alice or the original snips tools? To be honest I was hoping for a deeper integration in the existing tools. I guess it is still possible to add apps from the store as well, right?

What if I have to reset my raspy, will it be able to load everything from the snips console and will be running just like before, or do I have to set it up again?

For me a big plus for snips is, after the initial setup, I can just click on an app, trigger the update on the assistant (possible per voice command as well) and everything is set. Basically, after I set it up for my parents just once, they can do everything on their own :wink:

Sorry for so many questions and concerns, I’m sure you got the right answers and the trailer was just leading me to false conclusions ^^

Of course the command line is one point, the user interface on a screen module will allow one click install. Modules update are automatic. Adding modules by voice is under construction. Not understood intents will maybe soon trigger a compatible module search for auto install if allowed by the user.
Alice does not use any skill server or apps from the store
Yes, we totally split from the existing Snips console as we implemented deeper connections for hackers and devs, this demo for instance.
We did it because it’s been 2 years we’ve asked to be able to cooperate on skills and it’s not likely to see the light any time soon.
Alice is not one skill, Alice is the newly born snips skill server. Alice still creates a Snips assistant so your work is safe by all the time as you see in the demo, everything goes to the console. But there’s no Sam, no console webpage, no download assistant, no update assistant, no training assistant, everything is automated. With this level of automation we are now able to capture not recognized intents and ask alice to add the sentence she heard to the training data of a specific module. Exemple:

  • Hey Alice? Nrut eht sthgil no!
  • Sorry? I did not understand?
  • Turn the lights on!
  • Ok, I’ll do that!. Do you want me to remember that way of saying?
  • Yes
  • Ok, I’ll remember that!

The saying is injected, but also added to the assistant and the module, forever

And the GUI will add another level for those that prefer to click for certain things, like easy install modules from the main git repo etc etc.

4 Likes

Thank you! Indeed you knew the right answers :wink:
In combination with the screen and voice commands it really sounds like an enduser friendly product and a big step forward :slight_smile:

Will this be released soon ?

Yes, we are on the brink of releasing the alpha version

If you need another guinea pig, I have an extra Pi with a seeed 2 mic respeaker

I would like to get started in Alice project, but despite the huge number of hours spent on my screens, I’m afraid of being a bit limited in skills. Linux and snips have become familiar to me but may not be enough. in this project I find it really great to be able to create my own assistant. The question I ask myself about my current home automation project, is if by investing the necessary time, I would arrive with Alice project to generate the Snips apps corresponding to the structure of my Mysql database which is filling up. automatically, from data that pass through the KNX bus through node-red-contrib-knx. This method coupled to the export of my KNX structure in ETS, allows me from the start to be consistent and to be able to predict all the slots and intents necessary for the Apps Snips. If this generation is possible, it will ultimately save a lot of time.
If Alice project is to build in Snips only Apps developed by others, I would have no choice but to create my Apps in Snips in a classic way.
On the other hand, if it is possible I am ready to devote time to it.
Moreover I think that by your way of doing, it also allows to update an already created Apps with Alice project, by rewriting over the existing Apps.
Sorry if my questions may seem out of sync between my lack of skills and my poor command of English.
Cordially.

I’m not sure I understood you correctly, but no, Project Alice does not use official Snips Skills because there’s no way to collaborate or share them through github. In other words you don’t use the console anymore but code them locally, by hand for now until we finish the cli and the gui support. We’ve made our own support for modules and you can find exemples on how they are made here: https://github.com/project-alice-powered-by-snips/ProjectAliceModules/tree/master/PublishedModules/ProjectAlice/AliceCore

Alice comes with a native and easy sqlite support

That’s how I understood the Alice Project, but in the end the Apps, intents and slots generated, is clearly visible in the console Snips (If I understood the video).
So I have to wait until you have finished the support of the cli and the GUI.
Examples like: https://github.com/project-alice-powered-by-snips/ProjectAliceModules/tree/master/PublishedModules/ProjectAlice/AliceCore 1
are they already usable ???
I must say that for the moment I have a little trouble for understandthe different parts of Alice Project.
I do not really know where sqlite is in Alice, but it will not be any more complicated to use sqlite than mysql …

Yes, the data generation, training is still on Snips, so it is usable with Snips skills also. The published modules are already usable yes. They are published there because 5 of them are core ones that come directly with the installer, and the other ones are for procedure testing, such as auto install, auto update etc etc etc. Adding a mysql interface wouldn’t be too hard

Thanks for the answer, so I’m going down this road.