
Leon: An open-source personal assistant - yvonnick
https://github.com/leon-ai/leon
======
LawnboyMax
I highly recommend Rasa Core
([https://github.com/RasaHQ/rasa_core](https://github.com/RasaHQ/rasa_core))
if you are looking for an open-source virtual assistant. Very active and
helpful community, and lots of input channels for integrating your assistant
with messaging platforms
([https://rasa.com/docs/core/connectors/](https://rasa.com/docs/core/connectors/)).

I am not affiliated with Rasa, just had a really good experience developing a
few projects with it.

~~~
perturbation
I'll +1 SNIPs or Rasa, they're both really nice. It looks like the NLU part of
Leon is a logistic regression classifier ([https://github.com/leon-
ai/leon/blob/360d1020c4bd8bf1df37646...](https://github.com/leon-
ai/leon/blob/360d1020c4bd8bf1df3764645c635c64e0364702/server/src/core/nlu.js))
so it's just doing intent detection, not any slot filling. Maybe someone can
add calls to Rasa's HTTP API
([https://rasa.com/docs/core/server/#](https://rasa.com/docs/core/server/#))
to integrate with Leon?

~~~
tenkabuto
How well do these compare to Mycroft[1]?

[1]: [https://mycroft.ai/](https://mycroft.ai/)

~~~
perturbation
Haven't looked at MyCroft before. It looks like MyCroft exposes less of the
nuts-and-bolts of modeling? I'm not sure where I would plug in a custom entity
extraction or intent detection model, but I do see that it lets you add custom
'skills'.

~~~
llamataboot
Yes, this can all be handled with skills and the dictionaries that go along
with skills. I don't even program much in python, but I've found it pretty
simple to make add-ons for mycroft that have multiple entities for different
intents.

------
cstuder
The webpage seems to be missing a list of capabilities.

If you're looking for it you need to infer it from here:
[https://github.com/leon-
ai/leon/tree/master/packages](https://github.com/leon-
ai/leon/tree/master/packages)

~~~
blowski
Yeah, the whole page focuses on how it's built, not so much on problems it
solves. From the link you posted, it seems to:

* say "hello"

* tell jokes

* generate random numbers

* download videos from a given YouTube URL

* check status of a domain

I can't see why any of those need AI.

~~~
throwaway2016a
> I can't see why any of those need AI.

The AI piece in virtual assistants usually doesn't refer to the skills
themselves but the process of matching what is spoken (as audio) to a skill
and passing that skill the appropriate context. Without having to have a
developer program in all the hundreds of thousands of ways someone can ask for
the same thing.

With that said, I'm not sure how well this assistant does that. None of these
skills seem to use context at all. The sentence structure to map to a skill
seems relatively limited or at least not challenged by the initial skills.

------
ilaksh
I think the most interesting part of this is the offline capability. From
looking at the source code, it looks like the text to speech is provided by
[http://www.festvox.org/flite/](http://www.festvox.org/flite/) and the speech
to text uses
[https://github.com/mozilla/DeepSpeech](https://github.com/mozilla/DeepSpeech).

How do those compare to the major online providers?

~~~
JohnFen
> I think the most interesting part of this is the offline capability.

I agree -- that's the aspect that makes this potentially appealing to me.

------
kijin
> _He does stuff when you ask for it._

Is the name a homage to the Luc Besson movie starring Jean Reno? If so, he'd
better be able to kill a process (if not a real person) when the user asks for
it ;)

~~~
chris_wot
The video seems to allude to it.

------
machbio
Video Demo -
[https://www.youtube.com/watch?v=p7GRGiicO1c](https://www.youtube.com/watch?v=p7GRGiicO1c)

------
joshstrange
I got excited when I saw the core was JS (as writing TypeScript/JS is
something I enjoy) then I saw that all modules are written in python... That
doesn't seem to make a lot of sense to me, allowing for any language or a
subset of languages makes sense but writing the core and plugin system in
different languages.

~~~
JohnFen
I was disappointed that this was implemented in JS and Python. If I decide to
experiment with this, the first thing I'll do is port it to a (compiled)
language that I prefer.

------
squarefoot
Unless I misread the docs, offline use would be restricted to text-only. Is
that limitation temporary? I would surely have some uses for one of these
things, but no way I'm putting a closed source or cloud connected one in my
home, not even an open source one if it uses any external services I can't
trust.

~~~
ilaksh
I looked at the source and there are scripts for offline that install Mozilla
DeepSpeech for speech-to-text and CMU Flite for text-to-speech. I put links in
my other comment in this thread.

------
GNi33
I've been planning to set up something like this for myself for quite some
time now. Can anyone tell me what makes this different from something like
Snips ([https://snips.ai](https://snips.ai))?

~~~
ocdtrekkie
I have a longstanding view that the best personal assistant is one you write
for yourself: It can cover your needs and respond to how you'd prefer to
interact with it. A lot of sophistication isn't needed because it doesn't have
to try to meet a lowest common denominator user.

~~~
sosodev
Absolutely. I think hackability is the best part of open source.

------
masha_sb
1\. How is it different from the existing open source naturagl language
parsers?

2\. what problem does it solve? Have you tried to create an NLU platform which
can be extended? Have you tried to create a personal asst., if yes, then what
specific use-cases does it address?

------
bmn__
Does any of you know of a speech-to-text software that runs continuously,
works on Linux and accepts a Pulseaudio input (i.e. microphone) rather than
files and outputs text as a stream?

~~~
skoocda
Kaldi has a couple open-source online LVCSR models which can definitely do
live decoding. Though I'm not 100% sure if there is support for PulseAudio,
you may need an auxiliary service to pipe it in.

Easiest interface for it is via gstreamer:

github.com/alumae/kaldi-gstreamer-server

------
JohnFen
Oooh, this looks promising indeed!

------
TaylorAlexander
So, I get that most folks aren’t tuned in to this and I will sound
unreasonable, but I’m utterly tired of robot-like things being given gender.
Every time I read “he”, “him” when learning about a piece of software I gag a
little.

I know someone will tell me I am wrong. But I’m not asking or telling anyone
to change. I just want to share what unnecessary gendering looks like to me.
And for the record, all my robots are non-gendered (“Scout, Skittles, Rover”).

~~~
cabaalis
Perhaps this is unreasonable as well, but maybe ongoing developments in
society have caused you to focus a little too much of your attention on
gender.

Gender dysphoria is a recognized medical condition, for which there are
suggested plans of treatment--up to and including hormone therapy and
reassignment. Just go with the treatment, and be done with it, and accept that
people who have done so were trying to make themselves better. I don't know
why society is making it such a hot-button political issue.

(Actually I do know why... politicians need to find wedge issues to split and
enthuse people, to get votes.)

~~~
TaylorAlexander
I’m not motivated by politicians (I hardly ever listen to them or endorse
them).

I’m motivated by the suffering I see in our society experienced by gender
nonconforming individuals who feel uncomfortable in a world that believes in
the gender binary.

It’s interesting that you mention treatment. I’m not sure if you know any
gender nonconforming people, but “just go with the treatment and be done with
it” doesn’t really reflect accurately the experience I’ve seen other people
have. Hormones and surgery can treat the symptoms of dysphoria but the cause
seems to be society and the expectation that all people fit in to a binary.
(Please ask if you’d like me to elaborate on that.) So here I am proscribing a
treatment for society: stop gendering things unnecessarily and stop supporting
a hard gender binary.

~~~
airstrike
There are less gender nonconforming individuals than amputees. Let's tackle
the big ticket items first.

~~~
rabidrat
51% of the population are women, who suffer from these gender roles. That's a
super big-ticket group right there.

~~~
nisuni
As a woman, I can tell I don’t suffer at all from gender roles.

I am completely fine with gendered personal assistants, which was the original
topic being discussed.

And I don’t buy all this political crap regarding gender.

Stop using all women to support your political agenda. Stop speaking for the
51%. Not all of us support you, don’t speak for all of us.

