-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
/execute endpoint doesn't perform follow-up actions of executed action #4876
Comments
I agree this is unexpected behaviour, but not sure we should fix it this way. Following #4464 , the mechanism for triggering actions should be to send an external event. In this case the action gets executed normally. Also, followupactions are fragile and should be discouraged, it's the policy's job to predict the next action. We should consider deprecating / removing them, or if there is a real need articulating a very specific use case in the docs |
I agree, that sounds like the cleaner option in most cases. How would you handle this if you wanted an external event to trigger an action, which calls a follow up if necessary, and then forgets itself? (I.e. I want it to forget itself because I don't want it in the stories or influencing prediction). I'm not sure the external event + mapping policy handles this without stories, but I could be overlooking something. Call the other Action.run from within the run method directly (I never really understood followup actions to be honest)? |
I've never worked with the 'forgetting itself' mechanism, but isn't it just a matter of returning a |
Yeah, but i'm wondering how the second action can get called without stories for the |
why is |
The point of the ExternalEvent is that it behaves like a user input, which can then trigger an action via the MappingPolicy. If the external event and the following action appear at random places in the stories, that should be fine, because the policies can learn to ignore those parts. |
Shouldn't external events be intents rather than actions (or both)? We actually have this issue right now that I asked about in the forum: https://forum.rasa.com/t/is-there-a-way-to-trigger-a-user-intent-not-an-action-from-the-code-or-from-the-api/22155 The problem we are facing with external events is that they are often triggered at very random places in the conversation, often after our own action (because the user didn't respond for example). Therefore, stories looked like that:
This story is problematic for training the bot as the bot could learn to trigger
Where we insert The second issue we are facing is that |
@JEM-Mosig That's great! Looking forward to it! |
fixed by #4964 |
@nbeuchat Intent-triggering external events (and reminders) are released now! See https://github.com/RasaHQ/rasa/releases |
Hi guys , can Anyone help me to trigger multiple custom actions for an intent ? |
If the action you predict with the
/conversations/<conversation_id>/execute
endpoint returns a FollowupAction, this action does not get executed.When executing an action externally, one would expect the effect of that action to be the same as the effect if that action were called by the bot in the conversation.
I suspect that this is due to the action called only getting "executed", instead of being called through the "predict_and_execute_next_action" loop which predicts actions until the next action_listen.
The text was updated successfully, but these errors were encountered: