Search code examples
pythonpython-3.xrasa-core

AttributeError: 'NoneType' object has no attribute 'index' using RASA


i try to use RASA to build a sample bot, but i got ths error message,

Bot loaded. Type a message and press enter (use '/stop' to exit):
sad
Exception in thread Thread-2:
Traceback (most recent call last):
  File "C:\python36\lib\threading.py", line 916, in _bootstrap_inner
    self.run()
  File "C:\python36\lib\threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "C:\python36\lib\site-packages\rasa_core\channels\channel.py", line 291, in on_message_wrapper
    on_new_message(message)
  File "C:\python36\lib\site-packages\rasa_core\agent.py", line 316, in handle_message
    return processor.handle_message(message)
  File "C:\python36\lib\site-packages\rasa_core\processor.py", line 86, in handle_message
    self._predict_and_execute_next_action(message, tracker)
  File "C:\python36\lib\site-packages\rasa_core\processor.py", line 305, in _predict_and_execute_next_action
    action, policy, confidence = self.predict_next_action(tracker)
  File "C:\python36\lib\site-packages\rasa_core\processor.py", line 168, in predict_next_action
    probabilities, policy = self._get_next_action_probabilities(tracker)
  File "C:\python36\lib\site-packages\rasa_core\processor.py", line 478, in _get_next_action_probabilities
    tracker, self.domain)
  File "C:\python36\lib\site-packages\rasa_core\policies\ensemble.py", line 288, in probabilities_using_best_policy
    if (result.index(max_confidence) ==
AttributeError: 'NoneType' object has no attribute 'index'

i use :

PYTHON  3.6.0
RASA CORE   0.12.0
RASA NLU    0.13.0
TENSORFLOW  1.10.0
PROTOBUF    3.6.0

ho it possible to solve this ? Thank you


Solution

  • With rasa_core version 0.12 you have to provide a policy configuration for the training. You can e.g. a default template for that from Github. E.g. save the following snippet in a file called default_config.yml:

    policies:
      - name: KerasPolicy
        epochs: 100
        max_history: 5
      - name: FallbackPolicy
        fallback_action_name: 'action_default_fallback'
      - name: MemoizationPolicy
        max_history: 5
      - name: FormPolicy
    

    Then train Rasa Core with:

    python -m rasa_core.train \
      -d <path to domain file> \
      -s <path to stories> \
      -c default_config.yml \
      -o models/dialogue
    

    Then run the trained model with:

    python -m rasa_core.run -d models/dialogue