Closed TDehaene closed 7 years ago
@TDehaene alright, so we did a lot of work to make Rasa as modular as possible to allow extensions as you want to do them. Here are a few notes on what is possible right now:
pipeline: ["intent_classifier", ...]
). It currently isn't possible to add custom components there without changing the framework (the component needs to be added to https://github.com/RasaHQ/rasa_nlu/blob/master/rasa_nlu/registry.py#L41 to allow you to add it to the configuration like this: pipeline: ["intent_classifier", "my_custom_component"]
). BUT that is super easy to change which would allow arbitrary class names to be specified as part of that list. I'd be happy to do that if needed.train
, process
, persist
, load
)Just added that. You should be able to specify your component as part of the pipeline by just providing the module path, e.g.:
"pipeline": ["nlp_spacy", "my_custom.module.MyComponent", "intent_classifier_sklearn"]
Thanks for the feedback, I'll definitely look deeper into the Custom Component class
Issue:
Hi,
On the website (http://bit.ly/2fkn4Ls) it is mentioned that there is currently no ability to integrate custom components, but they do reference the rasa.nlu_components.Component class to already have a look how to do this.
This had me a bit confused: does this mean it is possible or not?
Specifically, we have a lot of other (both NLP and non-NLP) Python components that we need to host, but we are asking ourselves the question if this can all be integrated in Rasa to have one stack.
For example: we would for instance like to implement a scoring algorithm that we have developed in Python, as well as a pre-trained Support Vector Machine model (via sklearn) that we have developed to classify the type of cuisine of a dish.
Furthermore, we would like to use TreeTagger as the main POS-tagging algorithm.
In your expertises, would you say Rasa can be configured and modified in a way to allow for these extra 'components', or not yet?
Thank you for any help or insight you could provide on this.