Mycroft Chatbot - A Solution For Answering Questions

I just wanted to let everyone know I have built out a chatbot to help answer mycroft related questions and will be adding a lot to it over the coming weeks allowing for it to answer questions about the project as well as eventually troubleshoot some issues.

The source code is available at https://github.com/btotharye/mycroft-helper and runs on https://core.rasa.com/. You can also just test it out on www.geekedoutsolutions.com my blog where I will be doing a lot more content over the coming month on mycroft posts and such. There is a connector on this site that connects to the facebook bot that I currently have it running as, there are also options supporting Slack, Mattermost, and more.

image

Thanks

3 Likes

Great work @btotharye ~!!!

Have you thought about integrating Rasa as the chatbot function for Mycroft?

That is what I was using

i think he meant integration on mycroft-core, you just used RASA to make a standalone chatbot that answers questions about mycroft

one could do it in a similar way to padatious, https://github.com/MycroftAI/mycroft-core/blob/dev/mycroft/skills/padatious_service.py

any number of intent parsers can be integrated that way, the catch being that they are tried by order, so some thought must be given to priority,

Line50 in above code shows padatious has priority 5 ( from 1 to 100) , a rasa intent service could be 4 if desired to be given a chance to trigger before it

the good thing about this is that you can package the new intent parsers as skills

note, links are dead

EDIT: nevermind, all your mycroft stuff is gone, guess it was on purpose, when you said you were leaving i thought you were no longer developing, didn’t realize you were erasing your past contributions

lesson here, do not depend on others open source work, fork anything interesting :slight_smile:

2 Likes

I decided to leave because it didn’t seem worthwhile anymore since most of my customer base is using Echo’s or Google Assistants and didn’t seem like many were using my stuff and if they were they were constantly on me for updates or adding stuff but yet no income from it.

I also believe in not reinventing the wheel and Rasa does what it does extremely well and so didn’t really seem worthwhile to try and make Mycroft into a chatbot when Rasa does it already very well.

So unfortunately I decided to drop all development and purged out most of my old code around it to make space for new projects I’m developing.

Any chance you’d be interested in writing this for Rasa? Too bad btotharye wiped his work :disappointed_relieved:

Nothing wrong with leaving, and i wish you luck!

Normally i would also say thank you for your contributions, but you are playing the victim… its the same or more work archiving a repo or deleting it, github is also free, you have plenty accounts and theres no repo limit i know off

We do not all have the same philosophy and mindsets off course, you are free to do so, but the move of deleting everything paints you in a bad light for me, couldn’t milk the mycroft community for money so you deleted everything, that’s a shame… seems your “contributions” were just ads in fact

EDIT:
You also have a patreon, not exclusively about mycroft but with a lot of it, and your actions were super disrespectful for any patreons you have or had, they trusted and supported you
/END EDIT

No thank you for your ads, but nevertheless i wish you good luck in your job, and i wish you better costumers :wink:

About reiventing the wheel, i agree with that, but comparing RASA to Mycroft isnt very accurate, you should compare it to Adapt or Padatious, every chatbot needs an intent parser, but you gotta choose the right tool for the right job. You needed an engine and tried to use the full car?

END RANT

2 Likes

I do not have much free time currently, very busy at the moment

Seems easy to do, but i have no experience with RASA and something always comes up, so 15 mins easily become 1 hour…

But i would like to do that, you just need to wait … I think i might have some code in that direction already somewhere in my laptop

(donations accepted but not required)

1 Like

While these posts are about specific contributions to Mycroft, at a broader level they evoke the theme of open source sustainability in general, and I’d like to take the opportunity to re-focus the discussions here toward that theme.

One of the open source practitioners who has done a lot of work in this area is Nadia Eghbal. She wrote the seminal paper “Roads and bridges: The unseen labor behind our digital infrastructure”

This goes into a lot of detail about the sustainability issues faced in open source - if thousands of people use a product, but very few contribute to its upkeep, is that fair? So I can empathise with @btotharye’s decision not to continue with the contributions that had previously made - totally understand. Support work is thankless, tedious, tiring, and often you have to put up with people who are rude and entitled. At the same time, @jarbasAI also makes some fair points about leaving contributions in the open for others to use, even though support may not be provided. And again to be fair to @btotharye, we all know that even if you say you don’t provide support, people will contact you, with an expectation of support, anyway. You both make fair, and valid, points.

One of the frameworks that Nadia has developed is something called the 'four freedoms of maintainers`;

  • The freedom to decide who participates in your community - Developers have the right to decide who contributes, who commits, and who doesn’t.

  • The freedom to say no to contributions or requests - Developers have the right to say no to enhancement requests, support requests, and so on. If people want something, they are welcome to fork and build it themselves.

  • The freedom to define priorities and policies of a project - Developers get to prioritise which cards are WIP and at the top of the WIP list, period. This may or not be based on user feedback. Developers who work on a project make its policies.

  • The freedom to step down or move on from a project, temporarily or permanently - there are different ways to do this of course, and different approaches to ensure good succession, but fundamentally, a developer has a right to step down from a project whenever he/she/they choose.

Nadia Eghbal keynoting linux.conf.au 2017 in Hobart, Tasmania, Australia via @kathyreid on Twitter

What you YOU think of the four freedoms?

3 Likes

first time i read it put that way, but those are great principles to follow!

My issue in this particular case was the way the step down / fourth freedom was handled, you can move away from a project with some consideration for the user base you built thus far

you made a fair point about people expecting support even when said it wont be given, but there should at least been a warning and time frame to allow current users to move on and follow the second freedom from the above list

not at the same scale but remember this?

there is some responsibility towards others people, specially if they gave you donations before, as is the case with patreon

in this case the code was put out in the open specifically for a community to use, its not like it was code he was using for something else and did the favor of open sourcing, he was part of this community, advertised his stuff and monetized it (not enough it seems), the way it was done feels disrespectful.

If i submit a skill to the market (Today in history) and simply delete the github, is this ok? i’m on my right to do so, but i just made your market seem broken when its submodule points to a non existing skill, what if i did that to all my skills (assuming they were all in the market) ? did i have any responsibility in any impact to you because your market seem broken to all your costumer base?

I think this however highlights another problem with open source in general, how to keep developers around? Which steps could be taken to minimize developer drop out like @btotharye?

I will say that github stars make me happy, be sure to rain them down on code you enjoy

one other way is for the individual user to donate, many developers have donate buttons, @btotharye even had it in market skills readme

buy a programmer a coffee and he will turn it into code, but that’s not enough usually. What could the community as a whole do?

There was some interesting conversation around this when the blockchain Mycroft token was proposed

I feel pretty attacked here so I won’t say much and will keep it professional but I deleted most of these skills because I had so much mycroft crap in my repos it was hard to keep track of other stuff.

Also no one seemed to care about the code or skills while they were there so why would you care now they are gone?

There is nothing special about any of this code and most was already documented.

I’m not even going to go into the discussion with you Jarbas about giving back to the community, and if I’m honest posts like yours and feedback like that is a reason I’m leaving this community.

I’m not playing a victim just someone that has more important things to work on like my full time job or my devops consultanting/training I do.

Since everyone wanted to give me a hard time I really have deleted the skills now so someone else can build the home assistant skill.

Bye

Also FYI I told my Patrons and they left so might want to mind your own business

I tried to be constructive in my criticism and don’t have much else to say, the main topic i wanted to voice an opinion about is responsibility, @KathyReid posted a very interesting link above i recommend reading, don’t mean to attack you but to steer discussion towards that, a few key questions i wanted to raise:

  • does a developer have any responsibility or moral obligation?
  • how can we all as a community deal with these things?
  • how can we avoid it?

the first point is pretty much a matter of personal opinion, and where we seem to disagree and why i took an issue with your actions

for the second point the united skill writers that arose from you abandoning the home assistant skill gives an answer

the link i posted above is why i think the third point is important, does not apply to your work but highlights why just nuking code can have bad consequences

I’m voicing my strong opinion on your actions, but i did not mean to be disrespectful and if you feel that way i apologize, i did not choose the best wording when i said you were playing the victim, you were just the first example worthy of note happening in this community because you had quite a lot of stuff done

i’m however curious why you feel that way towards the community in general, giving a hard time is the last i would personally describe this community, i can understand why you feel that way towards me but as a whole does not really compute

edit: i was your patreon once (until you started focusing on RASA and not mycroft), i’m minding my own business :slight_smile: let’s keep this focused and civilized

edit2: this is probably worth it’s own thread, it’s a good conversation where you should not be the focus

2 Likes

the heavy lifting for adding random intent engines is done, be warned i wrote all that without running a single line of code, i ran out of free time in the middle and don’t think ill get back to it anytime soon

check the examples folder, there is an incomplete rasa example, was reading rasa docs when i stopped

either way the idea is pretty much fleshed out and should be easy to take over :wink:

PRs and issues welcome, at some point ill get back to it

1 Like

Thanks for building that so fast! Sadly I’m still a very beginner coder and have no idea what I’m looking at most of the time lol. From what I’ve read, Rasa seems a lot more advanced than most other intent engines. I’m still trying to get it built on my box at home. Hopefully you’ll magically find some free time or someone else will take up the mantle.