leon icon indicating copy to clipboard operation
leon copied to clipboard

"Modules" to "skills" new structure

Open louistiti opened this issue 3 years ago • 6 comments

Expected Behavior

Complete new modules structure and transition from "modules" to "skills".

Actual Behavior

The current modules structure depends on modules developers and the whole structure isn't scalable enough.

Proposal

As Leon plans to grow, I believe that having a specific folders/files structure is essential. Mainly the following reasons make me think like this:

  • At the moment, Leon skills are developed in Python only. Soon, the JavaScript bridge will come so it'll be possible to develop skills using JavaScript too. So having a hierarchy between bridges will help to be consistent between every module.
  • Some skills are small, some will be bigger. Some skills will require more business logic than others, so it is crucial to define a well organized and scalable structure.

Also, when we get to know about Leon, "modules" can means everything, it is too abstract. I think "skills" is more appropriate as it really means something and we may be more familiar with this word.

Leon NLP will be improved so we can build more powerful skills. Hence, a transition needs to be made from "packages" to "domains". These domains need to be defined, so skills developers don't need to create one, but just put their skills in the corresponding domain. Doing so will allow a better NLU accuracy.

louistiti avatar Dec 29 '21 14:12 louistiti

It would be interesting to design, in parallel of this new structure, a collaborative platform where everyone could create and share their modules and download other modules, to involve the community and quickly grow Leon’s capabilities.

Is this the future ambition of the project ?

SquareInnov avatar Feb 08 '22 14:02 SquareInnov

It would be interesting to design, in parallel of this new structure, a collaborative platform where everyone could create and share their modules and download other modules, to involve the community and quickly grow Leon’s capabilities.

Is this the future ambition of the project ?

That is interesting. At the moment upcoming modules can be seen on the roadmap. But the roadmap contains a lot of things, so yes I think something can be done there to centralize that. I will think about it.

But firstly, the official version (1.0.0) needs to be out so we can make sure we can finally start to grow Leon capabilities in terms of modules.

louistiti avatar Feb 08 '22 14:02 louistiti

It would be interesting to design, in parallel of this new structure, a collaborative platform where everyone could create and share their modules and download other modules, to involve the community and quickly grow Leon’s capabilities. Is this the future ambition of the project ?

That is interesting. At the moment upcoming modules can be seen on the roadmap. But the roadmap contains a lot of things, so yes I think something can be done there to centralize that. I will think about it.

But firstly, the official version (1.0.0) needs to be out so we can make sure we can finally start to grow Leon capabilities in terms of modules.

Other projects do similar things like MyCroft or Olivia. In this kind of platform, you can retrieve 3 types of "modules", the officials (developped by the Leon Team), the trusted (created by the community but approved by the Leon Team ) and the 'unofficial' others...

I love your project, and I use a "custom" version of Leon in my house, I created my own modules for my own usages (house automation, cooking recipes integration with "Marmiton" etc...). But, I think it’s a big lack of not having the ability to "easily" share this modules with others.

I hope to see that soon.

SquareInnov avatar Feb 08 '22 14:02 SquareInnov

It would be interesting to design, in parallel of this new structure, a collaborative platform where everyone could create and share their modules and download other modules, to involve the community and quickly grow Leon’s capabilities. Is this the future ambition of the project ?

That is interesting. At the moment upcoming modules can be seen on the roadmap. But the roadmap contains a lot of things, so yes I think something can be done there to centralize that. I will think about it. But firstly, the official version (1.0.0) needs to be out so we can make sure we can finally start to grow Leon capabilities in terms of modules.

Other projects do similar things like MyCroft or Olivia. In this kind of platform, you can retrieve 3 types of "modules", the officials (developped by the Leon Team), the trusted (created by the community but approved by the Leon Team ) and the 'unofficial' others...

I love your project, and I use a "custom" version of Leon in my house, I created my own modules for my own usages (house automation, cooking recipes integration with "Marmiton" etc...). But, I think it’s a big lack of not having the ability to "easily" share this modules with others.

I hope to see that soon.

Glad to see that you love Leon! A big revamp is coming up and many positive changes are going to happen in the way Leon is built and how we build modules.

I need to make sure that everything is well designed in a way modules are built, then such platform will happen.

Stay tuned 😉

louistiti avatar Feb 09 '22 01:02 louistiti

It has been released. Everything is explained in this blog post.

louistiti avatar Aug 24 '22 13:08 louistiti