AI Zone Admin Forum Add your forum

NEWS: survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

:reset on as live bot… must avoid the need to do this

well, I have noticed that after a bunch of changes, I will need to call :reset to reinitialize the user, because it will get really buggy, sometimes it will not even work after a sprint of changes.

:reset is an easy way to fix this.  Too easy.  I am doing it after every build at this point.  I am not surprised it will become buggy without the reset.
Doing a hard reset is not something that would be really advisable once the bot is live. 

I can do a ^reset(TOPIC *)  to reset all topics and not lose the other user data.
And for topics I do not want to repeat, I can defensively look for the existence of specific $ user variables that are set from these topics.  Or have a bunch of special $flags set after the topic reset.  Or I can maybe manually mark some topics as read after the reset.

Will this fix most of the issues? What issues would I expect to face in this situation, that I can defensively code for?  Are there other challenges I should watch out for?

If you could share any strategies for avoiding the need to do a reset, and what you have done when faced with this, it would be helpful from a planning point of view.  And what you do defensively to avoid rebuild issues without a reset, that would be helpful.

In the event of a reset, I am guessing this would be very complicated. There is a complicated way to do this with json, but it would be time-consuming to create.



  [ # 1 ]

if you are trying to update a live server, you need to bear in mind that CS user data tracks what top-level rules in a topic have been used up.  If you add new rules at the bottom, that is no problem.  If you add new rejoinders at the end of a rejoinder list that is no problem. If you edit text of a rule that is no problem.  HOWEVER, cs tracks also if a topic has been edited and will consider the user as starting afresh in that topic (checksum doesnt match). You can edit a topic and then declare it SAFE, meaning you believe your changes meet the above change requirements. Then the checksum test is not applied.

So partly the answer is what kind of issues are you seeing.


  [ # 2 ]

Thank you very much for your response.  I don’t have any showstoppers, right now. I am revising, bulk changing,  tuning, building and testing, rinse repeat.  Lots of changes.  I have not done a rebuild without a reset in a while, so I do not recall what went wrong before.

If I change my dev workflow to not include the reset, it makes it hard for me to understand the situation when “things do not work”.  But I have to do this eventually.   

I am going to try to change my developer workflow to not use the “:reset” when I am in the homestretch and see what happens.  I am guessing that I will probably want to put some defensive logic into the starter topics and the more personal topics, so they do not repeat themselves if I have to do the last ditch ^reset(TOPIC *) approach.

So, I am gathering, I should not have to do a reset once it goes live, the worst I should have to do is the
^reset(TOPIC *) 

sorry for the ramblings. I just do not want to get trapped into change paralysis fear once this goes live.


  login or register to react