Editing utterances in production environment

Is there a way to edit(add,delete) utterances in nlu.yml file without having to redeploy the project? Can the changes come into effect without redeploying ? If yes, how?

Thanks in advance.

1 Like

you have to externalize your responses in an NLG server in that case that handles utterances separately or employ a CI/CD strategy that redeploys changes in an automated way.

1 Like

Thank you for the reply. I think what you suggested in more related to the response generation. I want to add examples for intents dynamically without having the need to redeploy.

Is there an API for adding examples to nlu.yml in the production environment so that just retraining would bring in effect the changes and there is no need of redeploying?

If you are using the standard rasa server then rasa loads the model only on startup and thus it needs to be restarted, you should look into k8s deployments to better orchestrate your pods.

Another approach is to use a different framework such as flask or fast api and load models with a different endpoint using the Python’s rasa library and thus dynamically update the interpreter object for inference.

Also consider A/B deployments for ML models routing traffic X percentage at a time. K8s is your friend