I’ve added custom components to the rasa_nlu pipeline. I’d like to access these components while handling messages in my custom actions classes (in rasa_core), tracker.get_slot() only returns entities recognized by the default NER.
when the parse method is called, my nlu interpreter outputs the following:
Not quite. I’ve just taken another look at the source code. If you go to rasa_core.processor.py, the method _handle_message_with_tracker takes arguments (message, and tracker)
now in this function, the tracker is updated via tracker.update.
As you can see, only ‘intent’ and ‘entities’ are passed. I haven’t really taken the time to fully conclude how the code in rasa_core actually works, but I’m assuming that my conclusion is right, It’s not possible to access custom components from the tracker as they are never passed to it.
Please let me know if you’ve actually managed to access custom components from the tracker. I could be wrong!
for that you need to update the API response of Rasa NLU
in Rasa NLU API it returns the following
Intent classification
Entity extraction
The API returns these two parts, so all components in your pipeline are typically doing the following
Preprocessing
Featurization
Classification
Entity Extraction
so, let’s say if you want Rasa NLU API to return Features as well then you need to update NLU parse API
at the moment, I suppose it returns what was classified using a classifier and what has been extracted using the different entity extraction components (ner_spacy, ner_crf, ner_duckling)
If your custom component let’s say does entity extraction it should return the value in