paschmann / rasa-ui

Rasa UI is a frontend for the Rasa Framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker-compose rasa_core help/issue

JulienKleinmann opened this issue · comments

Hello,
First of all amazing work on this UI guys ! thanks and congrats !
I am new to rasa and this might be a silly question but i have some issues with setting up properly a bot using rasa core with a docker-compose set up.

What is happening is that i am able to run all the container and i have set up correctly the Postgres server. I created a bot train my nlu model and the core model outside of container and then put it in the right folder and restarted the container. But when i try to parse an query from the aside interface, it result in a html answer basically telling me the model was not found.

So i dig a little bit into the code and i found that my request is send to rasa core (because in the log i can see a route request and then nothing, when sent to nlu the request url display, could have been good to also have that in the core_router so we know where the request is send, plus i have no error in the logs so it seems that the request went through and come back). But since the answer is model not found then i wanted to see the request url and the model that it ask for.
what i found weird is in the core_router.js the function parseRequest there is a line that replace the id and project in rasacorerequestpath but if i look at the global variable the path is just : /webhooks/rest/webhook which seems fine to me but then we are replacing nothing and are not looking for a specific project (doesn't bother me since i what to have only one core model but still). Also in the header shouldn't be something like : 'content-type': 'application/json' ?

So now i know that my request at least arrive to the core server, there is two possibility either it doesn't found the core model or when core ask the nlu server it doesn't find the nlu model (i did set up correctly the endpoint for nlu). On the core side i am not sure of how it look for a specific project and then which one ? so that might be the issue but i have the trained core files in rasa-app-data/models/current/dialogue and the docker-compose mount the volume in the server under /app/model so it seems to me that it should be fine and the request will take the only available model (no need to specify when using the rest channel ? ). Now on the nlu side if we take the command specified to the core container, the core will look on the nlu server for a project call current and a model named nlu but when i train my model in the ui it's saved under bot_id/model_name and for me it will never be in the right place on the server except if i name it current and force the model to be named nlu.

Also i want to try to train my core model outside of docker so i can just run docker-compose and everything will work fine (put the trained file in the right place on the server) (i tried to train inside the docker container but then i just had 2 container and with seemed more messy to me) not sure it is the way to go ?

I not sure i have been clear but i hope :)

to summarize : how do i set up my model correctly using docker-composes ? (step by step procedure ? )

Thanks a lot

@paschmann @pradeepmvn

@JulienKleinmann - sorry for the delayed response. Is this still relevant, we are currently looking into a new docker-compose file, so it would be helpful to know. Thanks.

@JulienKleinmann - we have added a new docker-compose file now.