I am using rasa 3.1
This is domain file code
time_slot:
type: text
influence_conversation: false
mappings:
- type: from_entity
entity: time_slot
utter_ask_time_slot:
- text: "Which time slot would you prefer?"
buttons:
- title: "9 AM to 10 AM"
payload: '/choose_time{"time_slot":"9-10"}'
- title: "2 PM to 3 PM"
payload: '/choose_time{"time_slot":"2-3"}'
- title: "4 PM to 5 PM"
payload: '/choose_time{"time_slot":"4-5"}'
This is the nlu file
- intent: choose_time
examples: |
- I prefer [9-10](time_slot) am
- [2-3](time_slot) pm works for me
- Can I get [4-5](time_slot)? pm
I am getting this error
2024-02-29 17:58:58 ERROR rasa.core.processor - Encountered an exception while running action ‘utter_ask_time_slot’.Bot will continue, but the actions events are lost. Please check the logs of your action server for more information.
Traceback (most recent call last):
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\nlg\interpolator.py”, line 29, in interpolate_text
text = text.format(values)
KeyError: ‘“time_slot”:“9-10”’
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\structlog_sentry_init_.py”, line 174, in _get_level_value return getattr(logging, level_name) AttributeError: module ‘logging’ has no attribute ‘EXCEPTION’
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\processor.py”, line 957, in _run_action
events = await action.run(
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\actions\action.py”, line 320, in run
message = await nlg.generate(
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\nlg\response.py”, line 134, in generate
return self.generate_from_slots(
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\nlg\response.py”, line 152, in generate_from_slots
return self._fill_response(r, filled_slots, **kwargs)
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\nlg\response.py”, line 177, in _fill_response
response[key] = interpolator.interpolate(
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\nlg\interpolator.py”, line 73, in interpolate
return [interpolate(i, values) for i in response]
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\nlg\interpolator.py”, line 73, in
return [interpolate(i, values) for i in response]
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\nlg\interpolator.py”, line 70, in interpolate
response[k] = interpolate_text(v, values)
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\rasa\core\nlg\interpolator.py”, line 40, in interpolate_text
structlogger.exception(
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\structlog\stdlib.py”, line 224, in exception
return self._proxy_to_logger(“exception”, event, *args, **kw)
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\structlog\stdlib.py”, line 254, in _proxy_to_logger
return super()._proxy_to_logger(method_name, event=event, **event_kw)
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\structlog_base.py”, line 216, in _proxy_to_logger
args, kw = self._process_event(method_name, event, event_kw)
File “c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\structlog_base.py”, line 167, in _process_event
event_dict = proc(self.logger, method_name, event_dict)
File "c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\structlog_sentry_init.py", line 192, in call
level = self.get_level_value(event_dict[“level”].upper())
File "c:\users\ari16\anaconda3\envs\rasaflow2\lib\site-packages\structlog_sentry_init.py", line 182, in _get_level_value
raise ValueError(f"{level_name} is not a valid log level") from e
ValueError: EXCEPTION is not a valid log level
This is what chatgpt suggests about the error
The error you’re encountering, specifically KeyError: '"time_slot":"9-10"'
during the processing of utter_ask_time_slot
, indicates an issue with how string interpolation is being handled within the Rasa NLG (Natural Language Generation) system. The traceback suggests that there’s an attempt to format a string with named placeholders that are not present, likely due to the way the payload in the button is structured.
Pls help me on this kindly