Isse with slots

Hello, I am facing issue with slots and the bot isn’t conversating after my 2nd reply.

Bot loaded. Type a message and press enter (use ‘/stop’ to exit): Your input → hi
Hey! How are you, enter your name? Your input → my name is omkar
Your input → us
Your input → blah
Your input → blah blah
Your input →

please find attached code domain.yml (555 Bytes) (327 Bytes) (137 Bytes)

for more info. i ran rasa shell with debug mode

seems slots are getting stored correctly but next action prediction is incorrect.

it recognized correct intent but not predicting proper utter action which should be "utter_enter_country"

as i have mentioned same in my

  • name_entry
    • utter_enter_country

debugger output: Hey! How are you, enter your name? Your input -> my name is omkar
2020-06-17 13:17:07 DEBUG rasa.core.tracker_store - Recreating tracker for id ‘default’ 2020-06-17 13:17:07 DEBUG rasa.core.processor - Received user message ‘my name is omkar’ with intent '{‘name’: ‘name_entry’, ‘confidence’: 0.9931469559669495}’ and entities ‘[{‘start’: 11, ‘end’: 16, ‘value’: ‘omkar’, ‘entity’: ‘name’, ‘confidence’: 0.8023554807709611, ‘extractor’: ‘CRFEntityExtractor’}]’ 2020-06-17 13:17:07 DEBUG rasa.core.processor - Current slot values: country: None name: omkar 2020-06-17 13:17:07 DEBUG rasa.core.processor - Logged UserUtterance - tracker now has 9 events. 2020-06-17 13:17:07 DEBUG rasa.core.policies.memoization - Current tracker state [None, {}, {‘intent_greet’: 1.0, ‘prev_action_listen’: 1.0}, {‘prev_utter_greet’: 1.0, ‘intent_greet’: 1.0}, {‘slot_name_0’: 1.0 , ‘intent_name_entry’: 1.0, ‘prev_action_listen’: 1.0, ‘entity_name’: 1.0}] 2020-06-17 13:17:07 DEBUG rasa.core.policies.memoization - There is no memorised next action 2020-06-17 13:17:07 DEBUG rasa.core.policies.ensemble - Predicted next action using policy_1_KerasPolicy 2020-06-17 13:17:07 DEBUG rasa.core.processor - Predicted next action ‘action_listen’ with confidence 0.37. 2020-06-17 13:17:07 DEBUG rasa.core.processor - Action ‘action_listen’ ended with events ‘[]’. 2020-06-17 13:17:07 DEBUG rasa.core.lock_store - Deleted lock for conversation ‘default’. Your input ->

@omkarcpatil share your config.yml

config.yml (280 Bytes)

here it is

hi ! i have a doubt about slots . Do rasa assign different slots to different users at the same time ? meaning what if multiple users comes at the same time and enter value for a similar slot? is there any role of sender_id in this?

Thanks in advance.


Change your policy file to something like this:

language: en
pipeline: supervised_embeddings

  - name: MemoizationPolicy
  - name: TEDPolicy
    epochs: 100
    max_history: 5
  - name: MappingPolicy

Yes, Sender_id will play important role here. When each user logins into the website or visit a web page a session id will be generated for the user and that id will act as a sender id in the bot. In that case multiple users cannot talk to a single bot. Each user will be talking to individual bot of same genre

1 Like

Thanks for the reply. so how do i fetch slots value using sender id? i mean how to fetch slots value corresponding to different users? could you please give me an example to understand better ?

what your scenario? are you trying to build a bot for 1 on 1 chat or a group chat.

I’m building a chatbot to put it on a website. The bot collects lot of info from the user . So my question is if multiple users come at the same time on the website and interact with the bot , would slots value be different for different users automatically or we need to configure something? is there any chance slots values gets overwritten for one user when other user gives some input for the same slot?

Its 1 on 1 chat only.

No slots do not overlap, as they are related to sender_id

I am not a web developer, but these are my thoughts, If multiple users come and visits the website, suppose if you have a login page you can generate session ID, you can create a new instance of the bot per session id. In that way there will be no delay from bot response.

Hope it helps !

1 Like

config.yml (312 Bytes) @MuraliChandran14 hello murali, I have updated the policies the way you mentioned. now my model isn’t getting trained.

sorry I am very new to this so all policies and their internal working I don’t know

CMD output

C:\Users\msi1\Desktop\projects\rasa\rasaslot>rasa train 2020-06-18 13:04:43.999126: W tensorflow/stream_executor/platform/default/] Could not lo ad dynamic library ‘cudart64_100.dll’; dlerror: cudart64_100.dll not found 2020-06-18 13:04:44.004047: I tensorflow/stream_executor/cuda/] Ignore above cudart dle rror if you do not have a GPU set up on your machine. 2020-06-18 13:04:46 INFO rasa.model - Data (core-config) for Core model section changed. Training Core model… 2020-06-18 13:04:52 INFO absl - Entry Point [tensor2tensor.envs.tic_tac_toe_env:TicTacToeEnv] regis tered with id [T2TEnv-TicTacToeEnv-v0] Traceback (most recent call last): File “c:\python3.6\lib\site-packages\rasa\core\policies\”, line 320, in from_dict constr_func = registry.policy_from_module_path(policy_name) File “c:\python3.6\lib\site-packages\rasa\core\”, line 21, in policy_from_module_path module_path, lookup_path=“rasa.core.policies.registry” File “c:\python3.6\lib\site-packages\rasa\utils\”, line 209, in class_from_module_path return getattr(m, module_path) AttributeError: module ‘rasa.core.policies.registry’ has no attribute ‘TEDPolicy’

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File “c:\python3.6\lib\”, line 193, in run_module_as_main “main”, mod_spec) File “c:\python3.6\lib\”, line 85, in run_code exec(code, run_globals) File "C:\python3.6\Scripts\", line 7, in File "c:\python3.6\lib\site-packages\", line 76, in main cmdline_arguments.func(cmdline_arguments) File “c:\python3.6\lib\site-packages\rasa\cli\”, line 76, in train additional_arguments=extract_additional_arguments(args), File “c:\python3.6\lib\site-packages\rasa\”, line 50, in train additional_arguments=additional_arguments, File “c:\python3.6\lib\asyncio\”, line 484, in run_until_complete return future.result() File “c:\python3.6\lib\site-packages\rasa\”, line 101, in train_async additional_arguments, File “c:\python3.6\lib\site-packages\rasa\”, line 188, in _train_async_internal additional_arguments=additional_arguments, File “c:\python3.6\lib\site-packages\rasa\”, line 223, in _do_training additional_arguments=additional_arguments, File “c:\python3.6\lib\site-packages\rasa\”, line 361, in _train_core_with_validated_data additional_arguments=additional_arguments, File “c:\python3.6\lib\site-packages\rasa\core\”, line 44, in train policies = config.load(policy_config) File “c:\python3.6\lib\site-packages\rasa\core\”, line 28, in load return PolicyEnsemble.from_dict(config_data) File “c:\python3.6\lib\site-packages\rasa\core\policies\”, line 331, in from_dict “”.format(policy_name) rasa.core.policies.ensemble.InvalidPolicyConfig: Module for policy ‘TEDPolicy’ could not be loaded. Plea se make sure the name is a valid policy.

@omkarcpatil, What’s your rasa version?. If possible can you update to the latest

1 Like

Thanks ! i got the approach.

thank you very much now it is working