Hi All, I’m creating a pipeline to make it easy to train many bots. For this purpose I’ve tried to do add the following variable into my config.yml
pipeline:
language: "../../language_models/${LANG_MODEL}"
recipe: default.v1
pipeline:
- name: SpacyNLP
model: "../../language_models/${LANG_MODEL}"
here, the SpacyNLP module would perform an import of a model saved to the local machine. This convention of variables is quite normal for YAML files as I’ve understood. Here LANG_MODEL is an environment variable (i.e. export LANG_MODEL=en_core_web_lg
is run beforehand). This does not work however… any suggestions? It’s curious because the following config works perfectly fine for me when I run my endpoints.yml
file:
tracker_store:
type: mongod
url: mongodb://${MONGO_IP}:${MONGO_PORT}/
db: ${BOT_NAME}
username: ${MONGO_USRN}
password: ${MONGO_PW}
Thanks!
PS. Here is the specific error I get when I try to run rasa train
with the config.yml file setup above:
2022-06-02 15:43:36 INFO rasa.nlu.utils.spacy_utils - Trying to load SpaCy model with name '../../language_models/${LANG_MODEL}'.
2022-06-02 15:43:36 ERROR rasa.engine.graph - Error initializing graph component for node provide_SpacyNLP0.
InvalidModelError: Please confirm that ../../language_models/${LANG_MODEL} is an available spaCy model. You need to download one upfront. For example:
python -m spacy download en_core_web_md
More information can be found on https://rasa.com/docs/rasa/components#spacynlp
It seems as though the environment variable is not inserted into the statement…