I am upgrading from Rasa 2.x to 3.x. I am using a few custom entity extractors, but I’m seeing an error when I attempt to train a new model:
rasa.engine.exceptions.GraphSchemaValidationException: Your component 'AddressEntityExtractor' expects an input of type 'typing.List[rasa.shared.nlu.training_data.message.Message]' but it receives an input of type '<class 'NoneType'>' by the component 'ComprehendEntityExtractor'. Please make sure that you registered your component correctly and and that your model configuration is valid.See https://rasa.com/docs/rasa/custom-graph-components for more information.
I followed the migration and custom graph components guides in my refactor as closely as possible.
Here is a snippet of what my config.yml looks like:
pipeline:
- name: WhitespaceTokenizer
intent_tokenization_flag: true
intent_split_symbol: ","
- name: ConveRTFeaturizer
model_url: "./convert-model"
- name: "nlu.comprehend_extractor.ComprehendEntityExtractor"
- name: "nlu.address_extractor.AddressEntityExtractor"
I have the same registration code for each component:
# Registering component as per Rasa 3.0 requirement
@DefaultV1Recipe.register(
component_types=[DefaultV1Recipe.ComponentType.ENTITY_EXTRACTOR],
is_trainable=False,
)
Please let me know if additional code snippets would be helpful for proper diagnosis of the problem.