Trying to get NLU and core working with Docker Compose

Hi,

I tried to get a bot working with Docker, following Building Rasa with Docker, I set up Docker Compose and everything seems to be working fine. Nevertheless when I run my bot with docker-compose up, everything is starting correctly but when I try to send post requests such as :

curl --request POST \
  --url http://localhost:5005/webhooks/rest/webhook \
  --header 'content-type: application/json' \
  --data '{
"message": "some message"
  }'

I get this from the server :

rasa_nlu_1   | 2019-03-05 17:42:26+0000 [-] "172.19.0.4" - - [05/Mar/2019:17:42:26 +0000] "GET /parse?model=7346506e0ce7404c8a79ff105a0fcdae&project=&q=some_message+%3F&message_id=5436c4cb98c84d34a4bc32c0e55d1443 HTTP/1.1" 404 54 "-" "python-requests/2.21.0"
rasa_core_1  | 2019-03-05 17:42:26 ERROR    rasa_core.interpreter  - Failed to parse text some_message?' using rasa NLU over http. Error: {
rasa_core_1  |   "error": "No project found with name 'default'."
rasa_core_1  | }

result of curl localhost:5005/webhooks/rest/webhook/status : {"is_ready":true,"model_fingerprint":"c0006b11ec9048e28924e70e5a632f11"}

So it doesn’t seem to find any named model, only a fingerprint.

Here’s my docker-compose.yml :

version: '3'
services:
  rasa_core:
    image: rasa/rasa_core:latest
    networks: ['rasa-network']
    ports:
      - 5005:5005
    volumes:
      - ./models/current/core:/app/models
      - ./config:/app/config
    command:
      - start
      - --core
      - models
      - -c
      - rest
      - --endpoints
      - ./config/endpoints.yml
      - -u
      - 
  rasa_nlu:
    image: rasa/custom_rasa_nlu:latest
    networks: ['rasa-network']
    volumes:
      - ./models/current/nlu:/app/models
    command:
      - start
      - --path
      - models
  duckling:
    image: rasa/duckling:latest
    networks: ['rasa-network']
    ports:
    - "8000:8000"

networks: {rasa-network: {}} 

I’ve tried several values for the -u parameter such as ‘current’, ‘nlu’, ‘default’, the whole path, nothing seems to be working.

My models path is : nameOfMyProject/models/current/nlu or nameOfMyProject/models/current/core

So it seems that I don’t have any project declared or it doesn’t find the ‘current’ project. How should I do to either declare a project and make the server able to find it, or directly make the server able to find it ?

the problem seems similar to rasa_core.run --nlu models/current/nlu problem · Issue #1588 · RasaHQ/rasa_core · GitHub

Thank you in advance for your help,

Jimmy

try {projectname}/{modelname}

I have been digging around for ages and omg. The docs are scattered all over the place with syntactical discrepancies making it so difficult

source: HTTP API

good luck

Hi,

Thank you for your response but the only time I thought I named a model is during the training of my model with :

	    --fixed_model_name nlu \
	    --project current

And I tried almost everything he keeps telling me that there are not projects named current (or default if I don’t precise anything).