Custom fall back action

Hi everyone, Lately have been working on Fallback Policies, and I created a custom action for the fallback action (I didn’t use the default one). I want when the user types any message that is not related to an intent, or an intent with low score, the bot should run the my_fallback_action. In other terms, I want when the intent is None, the bot should be able to run the custom action in tha Fallback Policy. In the interactive learning, things run normally, however when I use the chatbot in the normal way, it usually run the action_default_fallback (when the intent is None) rather than my_fallback_action. Does anyone have an idea about this problem?

could you please show your config file?

for the config.yml:

Configuration for Rasa NLU.

language: en pipeline:

  • name: WhitespaceTokenizer
  • name: CRFEntityExtractor
  • name: EntitySynonymMapper
  • name: CountVectorsFeaturizer token_pattern: (?u)\b\w+\b
  • name: EmbeddingIntentClassifier
  • name: DucklingHTTPExtractor url: ${DUCKLING_URL} dimensions:
    • number

Configuration for Rasa Core.


  • name: MemoizationPolicy
  • name: KerasPolicy epochs: 200 max_history: 10
  • name: MappingPolicy
  • name: “FallbackPolicy” nlu_threshold: 0.4 core_threshold: 0.3 fallback_action_name: “my_action_fallback”

for my_fallback_action here it is:

class ActionDefaultFallback(Action): def name(self): return “my_fallback_action”

def run(self, dispatcher, tracker, domain):
    i = tracker.get_slot('i')
    if i == 1:
        dispatcher.utter_message("Handoff, Claudio")
        return [ConversationPaused()]
    a = str(i)
    if i == None:
        i = 0
    i += 1
    return [UserUtteranceReverted(),SlotSet("i", i)]

could you please paste debug logs here?

Hi again and sorry for the late reply. It turned out to be that in the core train I forgot to include the config file as I am using docker commands. So I think my issue is auto-solved. Thank you for your replies.