I have a form that asks a user for a date, a number, then a free text field. Using duckling to extract the date and number works perfectly fine, but if the free text contains contains either entity it updates the previous slot values as seen below.
I know a feature of RASA is to auto-fill slots when the entity is present, but when the question has already been asked, and the slot set why does the slot get overwritten?
For reference I have seen similar posts and the docs saying to put auto_fill: False in the slot declaration, but this still happens.
Is there any other way I can ‘lock’ the value of the slot to prevent it being overwritten?
RASA versions: rasa = 2.1.0,
rasa_sdk = 2.1.2
Relevant domain:
slots:
test_date:
type: text
auto_fill: False
influence_conversation: false
test_free_text:
type: text
auto_fill: False
influence_conversation: false
test_number:
type: text
influence_conversation: false
forms:
test_form:
test_date:
- type: from_entity
entity: time
test_number:
- type: from_entity
entity: number
test_free_text:
- type: from_text
Hi @kearnsw! While that is true, the test_date field does have the auto_fill: false argument, and that is still being overwritten by the date entity picked up in the free text question
One other thing I noticed is that you have auto_fill: False instead of auto_fill: false. From what I understand about how the domain.yml file is parsed, this will not be interpreted as a Boolean as written and instead will default to true. Try lower casing those values.
I’ve updated the domain so the slots are defined as below:
slots:
test_date:
type: text
auto_fill: false
influence_conversation: false
test_free_text:
type: text
auto_fill: false
influence_conversation: false
test_number:
type: text
auto_fill: false
influence_conversation: false
But I still get the same behaviour with the slots being overwritten:
I’ve tried this on a fresh project as well and I’m still getting the same problems, is there something within RASA that I can overwrite to stop this behaviour happening for this form?