NLU does not load all components in pipeline, mentioned in .yml file

I added 2 custom pipeline components in NLU. I followed below steps:

  1. Created a separate class of my component
  2. Added the name of component in registry.py file’s array
  3. Added the class and imported it in registry.py file.
  4. Added the same name of component in config.yml file.

I added 2 custom components. Unfortunately only one component is referred by pipeline and 2nd component is not called at all. Kindly guide me.

You don’t need to add them to the registry, there’s instructions on how to do it without that here: http://rasa.com/docs/nlu/customcomponents/

Please post your domain file if you’re still having problems with this

If I don’t mention my component’s name (language_detect.LanguageDetector) in registry.py file, NLU throws following error during training:

Exception: Failed to find component class for ‘language_detect.LanguageDetector’. Unknown component name. Check your configured pipeline and make sure the mentioned component is not misspelled. If you are creating your own component, make sure it is either listed as part of the component_classes in rasa_nlu.registry.py or is a proper name of a class in a module.

Make sure the module path is correct, and it might also be that you don’t have an __init__.py in your directory

Just an updated link to the docs http://legacy-docs.rasa.com/docs/nlu/customcomponents/