I have a custom component folder that contains (of course) custom components for in my NLU pipeline. I am using the Helm chart deployment but there is no documentation available on how to implement these custom components (or I am missing it). I get the following error when I try to train a model using the Rasa X UI:
In order to add your custom components, you need to add a volume mount for those. For a custom component you’ll want to mount to rasaProduction and rasaWorker. The working directory of these containers is /app, so if you reference your component like module.Class, you’ll want to mount it to /app/module.py.
Make sure there is also an __init__.py in whatever directory your component code lives!
@fabrice-toussaint just had an idea If you aren’t comfortable with helm and ConfigMaps etc. Maybe it is easier to build a custom image? it would look pretty simple, something like
FROM rasa/rasa:<version>
COPY ./custom_component.py /app/custom_component.py
RUN pip install <any libraries you need for your component>
You’ll need a custom image if your component uses libraries not in the rasa image anyway, so it’s possible that volume mounts aren’t even the right solution in the first place
Then you can reference your image as the name used for the rasa: deployments.
@erohmensing I created a github action for building the Rasa server with custom components with possibilities to automatically update the deployment through Helm based on the action-server-gha by tczekajlo. I can share the link to the Github repo if this is relevant for the Rasa team.