Git Product home page Git Product logo

Comments (10)

louistiti avatar louistiti commented on May 10, 2024

Hello @TheFehr,

Thanks for opening this issue. I've been thinking about an environment variable in the .env file with something like LEON_BRIDGE_TYPE and according to the value of this env variable, Leon's brain executes the module dedicated to that specific language.

But that will be for later because I still need to work on the Leon's packages setup to make them work standalone without having to install all the Leon's packages belonging to other bridges (languages).

from leon.

TheFehr avatar TheFehr commented on May 10, 2024

@louistiti but that would mean if there is an amazing weather package in python and a powerfull math package in golang I would need to choose if I either want to be able to ask Leon about the weather or my math problems? (just naming random packages here)
Can't we give the users of leon the possibility to have multiple bridges at the same time? I know it will be way more complicated, but I for one would appreaciate the possibillty to mix packages from different bridges (languages) because for some usecases there are amazing libraries. But only in one language.

from leon.

louistiti avatar louistiti commented on May 10, 2024

✨ New bridges

from leon.

louistiti avatar louistiti commented on May 10, 2024

Indeed, and this is of course doable.

During his initialization, Leon can check if a bridge is correctly configured and ready to execute modules. According to that, he'll execute or not the requested module.
I'll see how to deal with priorities, two bridges might have the same module just rewritten in their respective language. But I suppose I'll add a "priority" property setting here that we could update as much as we want, such as: LEON_FAVORITE_BRIDGES=python,go,javascript, and according to the order of this value, Leon will know which bridge he needs to choose if the requested module has been found in several bridges.

from leon.

TheFehr avatar TheFehr commented on May 10, 2024

Yeah I was thinking in the same direction, do you think you'll need to do more breaking changes on the code for the NLU improvement or could I give this a try and test it with my golang bridge?

from leon.

louistiti avatar louistiti commented on May 10, 2024

I would still prefer to wait for a while before doing that.

from leon.

TheFehr avatar TheFehr commented on May 10, 2024

Okay, then I will just keep my golang bridge similar to your example python bridge, so when the time is right I can test it.

from leon.

louistiti avatar louistiti commented on May 10, 2024

Alright, do not hesitate if you have any questions.

from leon.

TheFehr avatar TheFehr commented on May 10, 2024

For your information: on my fork of leon in the golang-bridge branch is a functional golang bridge including a golang version of the isitdown module.
To try it out you need this: https://gist.github.com/TheFehr/58dc8e204d2e5e8c5123b48757643fe4

Thanks for your amazing work

from leon.

louistiti avatar louistiti commented on May 10, 2024

It seems good. Thanks for sharing!

The roadmap card is already created to ensure that will be taken in consideration once we'll discuss about this topic later on.

from leon.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.