Form slot filling bug

I have the following slot mappings for my custom FormAction:

                "peopleCount": [self.from_entity(entity="number", intent="inform_peopleCount"),
                                self.from_entity(entity="number_people", intent="inform_peopleCount")
                                ],
                "childCount": [self.from_entity(entity="number", intent="inform_peopleCount"),
                                self.from_entity(entity="number_child", intent="inform_peopleCount")
                                ],
                "age": [self.from_entity(entity="age", intent="inform_peopleCount")
                                ],
                "dogCount": [self.from_entity(entity="number", intent="inform_peopleCount"),
                                self.from_entity(entity="number_dog", intent="inform_peopleCount")
                                ],

When my form predict the inform_peopleCount intent, I want it to be able to fill multiple DIFFERENT slots. However, with this mapping, when my form finds number_child / number_dog entities, my bot is filling the peopleCount slot with all types of entities instead of filling them into different slots. This seems like a bug in Rasa:

Any advice on why this is happening would be much appreciated.

@argideritzalpea

I believe removing the “number” entity mapping will solve your problem.

After filling the requested slot, Rasa Forms will attempt to fill the OTHER SLOTS. In your case the number entity has its value updated and hence your slots gets updated.

See the extract_other_slots method in forms.py.

If removing the number entity didn’t solve your issue, do let me know, You can make some changes to your FormAction Child class to prevent overwriting of slots.