microsoft / ConversationLearner-Samples

Sample bot using the ConversationLearner SDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DELETE_TRAIN_DIALOG_REJECTED error when "Action" is created without "Wait for Response?"

lucascologni opened this issue · comments

An error called "DELETE_TRAIN_DIALOG_REJECTED Failed" is triggered when an "Action" is created with the "Wait for Response?" field not checked.

test
test2

Could you check please?

Thank you guys!

@BelvedereHenrique, @Cley-94, @flaviol-souza @RafaelMD

@lucascologni - I haven't been able to repro this one. Does it happen every time for you? Any other context about what you were doing before this happened?

@LarsLiden, I was verifying together with some guys for my team the same situation.

But maybe we doing something wrong too... I don't know. Can you try to repro this one?

What we did to test was simple... First we created an action with the response "Hello World!", then we unchecked the option "Wait For Response?".

So far so good, so we created a new train dialog with the word "Hello", then we selected the response "Hello World!", this error is triggered after clicking on the button "Done Teaching".

If we are doing something wrong, please let us know!

Thanks! :)

Thanks for the additional detail - I'm able to repro now. I see the issue, the train dialog is getting rejected because currently we require that all train dialogs end with a terminal action. Let me think about this a bit more to see if we can relax this requirement. (@msft-shahins )

Sure! Thanks @LarsLiden :)

In case it wasn't obvious, just create a non-terminal action with which to end the training dialog. Your sample training dialog is a degenerate case. If you actually ran the bot, after the user said anything the bot would repeat "Hello World!" forever as there is no terminal action. (In practicality, we block it from responding when we detect a non-terminal loop)

Makes sense.

Understood, thanks!

When you are creating the first action, what do you think about leaving this option enabled by default?

Could this behavior be implemented in the future ? Just suggestions, maybe we can create a PR for that.

Thanks!

The Action creator UI does default to having "Wait for Response" checked when you create a new action. We're not quite sure what the use case would be of having a Training Dialog end with a non-terminal action. (The conversation isn't over at that point.) Can you explain your use case in more detail?

@LarsLiden
What we mean is, when the user is creating the first action (the only one on the app), this checkbox could be by default checked (as it is right now) and disabled as well, so the user can't create only one action which is not a "Wait for response" one.

This would avoid the mistake we made. Right?

Ah, I see what you are saying. The issue I see there is that sometimes folks create a bunch of actions at once and we don't want to force them to make the first one terminal. As an alternative I'm going to add a pop-up message when you try to save the train dialog with a non-terminal action at the end that prevents the save and explains why

I see.
That might be the proper solution then, great!

Thanks!

@lucascologni

@LarsLiden should we close this one?
Or let it open for reference?

Checking in fix now into Samples develop. Think we can close it but won't be pushed to master for a bit