DucklingHTTPExtractor correctly extracts values on local machine but doesn't on Rasax UI on GCP VM

I was running a DucklingHTTPExtractor on my local machine it was working totally fine (still is), but when I run it on my GCP VM, it doesn’t correctly extract the entities and convert them (to timestamps and money in my case). In other words, when I type anything into the interactive learning section of the RasaX UI, it does label the correct entities, but it fills the slots with those parts of the text and not the converted values (although it does that on my local machine).

Here’s my pipeline:

pipeline:
  - name: SpacyNLP
  - name: ConveRTTokenizer
  - name: ConveRTFeaturizer
  - name: RegexFeaturizer
  - name: LexicalSyntacticFeaturizer
  - name: CountVectorsFeaturizer
  - name: CountVectorsFeaturizer
    analyzer: "char_wb"
    min_ngram: 1
    max_ngram: 4
  - name: DIETClassifier
    epochs: 100
  - name: SpacyEntityExtractor
    dimensions: ["GPE"]
  - name: DucklingHTTPExtractor
    dimensions: ["time", "amount-of-money", "duration"]
    url: "http://duckling:8000"
  - name: EntitySynonymMapper
  - name: ResponseSelector
    epochs: 100

Here’s whats in my docker-compose.yml:

duckling:
    restart: always
    image: "rasa/duckling:0.1.6.3"
    expose:
      - "8000"
    command: ["duckling-example-exe", "--no-access-log", "--no-error-log"]

Here’s what’s in my docker-compose-override.yml:

version: '3.4'
services:
  app:
    image: 'my_own_custom_image'
    volumes:
      - './actions:/app/actions'
    expose:
      - '5055'
    depends_on:
      - rasa-production

And here’s what I get in the logs when spinning up the duckling_1 server:

duckling_1         | no port specified, defaulting to port 8000
duckling_1         | Listening on http://0.0.0.0:8000

I see that I set the url to http://duckling:8000 and it’s listening on http://0.0.0.0:8000, so is there a way I can specify that? Any suggestions?

Just to confirm, on the VM you’re using Rasa X? Did you install it via docker-compose?

This guide on the docs might shed some light. At the bottom you’ll see an environment variable described called RASA_DUCKLING_HTTP_URL.

The environment variable is the same as the string http://duckling:8000 so I don’t think that should be the issue. And yes I’m using Rasa X on the VM. I have a feeling that the version of Duckling that Rasa Forked (which I believe their docker image uses) has different rules than the Facebook version of Duckling (which I downloaded on my local machine)