Unable to add RulePolicy to config

I’m trying to set up rules for my chatbot, but when I add RulePolicy to my model configuration, I get this error. Do I need Rasa 2.0 for rules?

rasa train 2020-09-08 16:47:46 INFO rasa.model - Data (core-config) for Core model section changed. Training Core model… Traceback (most recent call last): File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/core/policies/ensemble.py”, line 308, in from_dict constr_func = registry.policy_from_module_path(policy_name) File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/core/registry.py”, line 21, in policy_from_module_path module_path, lookup_path=“rasa.core.policies.registry” File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/utils/common.py”, line 221, in class_from_module_path return getattr(m, module_path) AttributeError: module ‘rasa.core.policies.registry’ has no attribute ‘RulePolicy’

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File “/home/dev/rasa-data/venv/bin/rasa”, line 8, in sys.exit(main()) File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/main.py”, line 92, in main cmdline_arguments.func(cmdline_arguments) File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/cli/train.py”, line 76, in train additional_arguments=extract_additional_arguments(args), File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/train.py”, line 50, in train additional_arguments=additional_arguments, File “uvloop/loop.pyx”, line 1456, in uvloop.loop.Loop.run_until_complete File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/train.py”, line 101, in train_async additional_arguments, File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/train.py”, line 188, in _train_async_internal additional_arguments=additional_arguments, File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/train.py”, line 223, in _do_training additional_arguments=additional_arguments, File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/train.py”, line 361, in _train_core_with_validated_data additional_arguments=additional_arguments, File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/core/train.py”, line 43, in train policies = config.load(policy_config) File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/core/config.py”, line 28, in load return PolicyEnsemble.from_dict(config_data) File “/home/dev/rasa-data/venv/lib/python3.6/site-packages/rasa/core/policies/ensemble.py”, line 319, in from_dict “”.format(policy_name) rasa.core.policies.ensemble.InvalidPolicyConfig: Module for policy ‘RulePolicy’ could not be loaded. Please make sure the name is a valid policy.

1 Like

The RulePolicy is indeed a new feature. You’d need to have version 2.0+ for it. Currently only the alpha releases are live for that.

Hi Vincent, hi Sona, Note that the policy is still recommended in the default documentation:

and

It’s probably a work in progress toward v2 but doesn’t seem to work in 1.10.12.

It appears the solution is just to not add “RulePolicy” in the config but keep the rule definition in the domain file.