Closed nielstron closed 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?
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.
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.
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.
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.
Merged through #11. (Once again sorry for the delay with this)
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