Creating Custom Components (Input and Output)

Hello all, I am attempting to create my own custom rasa nlu components (hopefully a tokenizer and an intent classifier that uses keras). While there are many custom components online that have some explanation (such as the blog post done by Rasa on Sentiment Analysis), I am having trouble understanding the way in which these components are taking in data and then sending it out. I come from a tensorflow ML background and therefore I am used to taking in data as numpy arrays (or TF tensors) and the model out as a .h5. Any explanation on how Rasa handles this would be very much appreciated. Thanks!

Hey @aidanloch, this depends on what type of component you’re building. Tokenizers for example would provide text: rasa/whitespace_tokenizer.py at 1.7.x · RasaHQ/rasa · GitHub

Classifiers would provide intent labels and their rankings/confidences: rasa/embedding_intent_classifier.py at 1.7.x · RasaHQ/rasa · GitHub