forslund / fallback-aiml

An Alice chatbot fallback for Mycroft (all hail JarbasAI who did most of the work)
Apache License 2.0
12 stars 13 forks source link

Enabling the use of AIML #4

Closed nielstron closed 6 years ago

nielstron commented 6 years ago

This creates a stable version of an aiml fallback. Removed returning random pickup lines when not understanding something but will now expect an response when having asked a question. Also the user may have the aiml skill reset his memory reset your memory Future ideas: Use set predicates from aiml to set conversational context

forslund commented 6 years ago

Hi looks like a good addition. The thing I'd like to have added is to not load aiml data until the skill is enabled. So you could have in the handle_fallback() a check for enabled and not loaded and load if needed. (and the similar in initialize)

Does that sound good?

nielstron commented 6 years ago

I already thought a our that but it doesn't seem like a good idea because I see no harm in pre-loading the brain. It occupies about 16 MB of RAM (at least the brn file is that big) and makes the fallback a lot faster.

Also I have removed the possibility of disabling/enabling the fallback completely. It seemed like a good idea at first but on my opinion the user should simply remove the skill if he doesn't want it. Of course this makes it necessary that the skill is not installed per default/ default skills can be removed.

nielstron commented 6 years ago

Just checked, AIML chatbot skill is installed per default, but removable. The user thus may simply choose to uninstall it if it isn't wanted. Also with the newest additions, the skill doesn't reload every time an answer is supplied.

forslund commented 6 years ago

We had severe issues with this skill since the memory footprint is significant (~5% of available memory on the pi if I recall correctly) so I very much would like this to be unloaded by default and only after enabling having it loaded.

nielstron commented 6 years ago

Opened #7, making the use of the AIML fallback optional. Still I don't see why you don't make use of letting the user uninstall the fallback.

forslund commented 6 years ago

Merged through #11. (Once again sorry for the delay with this)