-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Allow forms without default slot mappings / only custom slots mappings #7068
Comments
Current Situation Solutions
In general I'd prefer option 2 as it seems more "Rasa-style" and blends with how we override other "default" actions. Any strong opinions? |
the first version still technically breaks compatibility? I thought the idea is to allow users to train/run old 1.x bots without any changes to the files |
I'm not sure, I understand the solution 2, do you mean that if there is an action with the same name, we override the default? I thought we already do it, at least we did for |
In both cases we can check if the
Yep, that would be the default. Currently overriding the default form action however isn't possible due to our current check which we have in place. |
then I'd say number 2 is natural solution |
the only problem, users might start to create their custom forms, and they wouldn't work, because specific events wouldn't be returned |
If they start to create custom forms, then they should really know what they are doing 😆 |
we need to provide a safe guard mechanism. Our code should direct people who don't know what they are doing |
i am still confused about what option 2 means practically |
I don't agree: If they write their own versions of forms, then they need to know what they are doing. There is also no save guard mechanism if you override any other default action. @akelad I implemented it in the linked PR. Does that clarify things? |
we cannot rely on that, we know that it is not the case. For example, people want to customize a form, they find out that they can override the action, and they do that instead of creating custom validate. We need to create intuitive software that requires minimum documentation if possible. It is not always possible, but we at least should try
in some sense, there is. There is no special return requirements for custom actions, so you cannot really destroy their promised performance |
You could also override the |
ok i get the concept from the PR - but I don't understand what you mean by overriding the |
Instead of executing the default action for a form which is now within
I think this part is quite explicit in my opinion as I repeated it in the changelog and the documentation with an additional |
"This can e.g. be used" - implies it's optional. I would say we don't need a caution section, but just specify then and there that this should only be done in the case of migration |
Sorry, is there a currently a way to have a form with only slots that use custom slot mappings? |
It is in fact possible as described in the docs. We have added support for this in this PR |
Currently, you need to add at least one slot mapping to your form in the domain. Otherwise, it will choose the Rasa Open Source 1.x
FormAction
for execution (see here)We need to detect the deprecated usage of old forms differently and allow that users can define a form like the following:
The text was updated successfully, but these errors were encountered: