My Docker file contents:
version: '3.0'
services:
rasa:
image: rasa/rasa:latest-full
ports:
- 5005:5005
volumes:
- ./:/app
command:
- run --enable-api
the run --enable-api command is failing. I am getting below error.
[root@cq6083maa rasa_test]# docker-compose up
Recreating rasa_test_rasa_1 ... done
Attaching to rasa_test_rasa_1
rasa_1 | usage: rasa [-h] [--version]
rasa_1 | {init,run,shell,train,interactive,test,visualize,data,x} ...
rasa_1 | rasa: error: invalid choice: 'run --enable-api' (choose from 'init', 'run', 'shell', 'train', 'interactive', 'test', 'visualize', 'data', 'x')
rasa_test_rasa_1 exited with code 2
If my file only has ‘run’ instead of ‘run --enable-api’ it is running fine.
How to run only the NLU instead of core and at what rest API endpoint, i can get the query parsed and get the intent name.
Update: [SOLVED]
I found the solution by modifying it as below.
version: '3.0'
services:
rasa:
image: rasa/rasa:latest-full
ports:
- 5005:5005
volumes:
- ./:/app
command:
- run
- --enable-api
- --cors
- "*"
Any advice or suggestion on this is always welcomed if this is not the correct way to do so.
2 Likes
I would also like to know how to run the custom arguments via the rasa docker image. My old rasa command was python -m rasa_core.run --enable_api -d models/dialogue -u models/nlu/current -p 5100 -c twilio --credentials credentials.yml --endpoints endpoints-twilio.yml
How can I pass the correct port to the run command, as well as pass these other arguments, so that I can get rasa to communicate with Twilio via port 5100 via docker?
The following docker-compose.yml does not work at all:
version: '3.0'
services:
rasa:
image: rasa/rasa:latest-full
networks: ['rasa-network']
ports:
- "5005:5005"
volumes:
- ./:/app
#- "./models:/app/models"
#- "./data:/app/data"
#- "./rasa:/usr/local/lib/python3.6/site-packages/rasa"
command:
- run --enable_api -d models/dialogue -u models/nlu/current -p 5100 -c twilio --credentials credentials.yml --endpoints endpoints-twilio.yml
action_server:
image: rasa/rasa-sdk:latest
networks: ['rasa-network']
ports:
- "5055:5055"
volumes:
- "./actions:/app/actions"
duckling:
image: rasa/duckling:latest
networks: ['rasa-network']
ports:
- "8000:8000"
networks: {rasa-network: {}}```
as I get the following error:
```rasa_1 | rasa: error: invalid choice: 'run --enable_api -d models/dialogue -u models/nlu/current -p 5100 -c twilio --credentials credentials.yml --endpoints endpoints-twilio.yml' (choose from 'init', 'run', 'shell', 'train', 'interactive', 'test', 'visualize', 'data', 'x')```
Tanja
(Tanja Bunk)
July 2, 2019, 3:02pm
3
@kmrashutosh Your solution looks good!
@argideritzalpea Your command should look like this: run --enable-api --model models -p 5100 -c twilio --credentials credentials.yml --endpoints endpoints-twilio.yml
. In Rasa 1.0 you should have one tar.gz
model file that contains both models - Core and NLU. Use rasa train
to train such a model. The arguments -d and -u do not exists anymore. Also --enable_api
is now --enable-api
.
3 Likes
Still get:
rasa_1 | usage: rasa [-h] [--version]
rasa_1 | {init,run,shell,train,interactive,test,visualize,data,x} ...
rasa_1 | rasa: error: invalid choice: 'run --enable-api --model models -p 5100 -c twilio --credentials credentials.yml --endpoints endpoints-twilio.yml' (choose from 'init', 'run', 'shell', 'train', 'interactive', 'test', 'visualize', 'data', 'x')```
Hi @argideritzalpea
try to replace:
with:
command: ["run", "-m", "models", "--endpoints", "endpoints.yml", "-p", "5100", "--credentials", "credentials.yml", "--enable-api"]
and see if it works.
Regards
Julian
1 Like
This seems to work:
run --enable-api --model models --p 5200 --connector twilio --credentials credentials.yml --endpoints endpoints-twilio.yml
-c
is now --connector
, among other things.