Hi @nik202 , Thanks for your help the permission issue has been gone and docker containers are up and running using docker-compose without issue. Here is a thing, I thought once the rasa server is running on cloud service(I’m using azure VM) then I could use this endpoint http://{publicIPofVM}:5005/webhooks/rest/webhook to send message to rasa server but the request doesn’t go through. I’m testing it by postman. Is it possible scenario? if then what configuration needs to be changed? rasa server is running on localhost:5005 on VM right now.
Well now I can send request using endpoint, needed to open the port on VM. Then here is another issue, rasa doesn’t talk duckling server and action server. attatching docker-compose and error message
2022-02-01 18:13:48 DEBUG urllib3.connectionpool - Starting new HTTP connection (1): localhost:8000
2022-02-01 18:13:48 ERROR rasa.nlu.extractors.duckling_entity_extractor - Failed to connect to duckling http server. Make sure the duckling server is running/healthy/not stale and the proper host and port are set in the configuration. More information on how to run the server can be found on github: https://github.com/facebook/duckling#quickstart Error: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /parse (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f22086f3700>: Failed to establish a new connection: [Errno 111] Connection refused'))
Action server error
rasa.shared.exceptions.RasaException: Failed to execute custom action 'action_session_start' because no endpoint is configured to run this custom action. Please take a look at the docs and set an endpoint configuration via the --endpoints flag. https://rasa.com/docs/rasa/custom-actions
FROM rasa/rasa:2.8.2
WORKDIR /app
COPY . /app
USER root
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
RUN python -m spacy download en_core_web_md
RUN python -m spacy link en_core_web_md en
RUN rasa train
VOLUME /app/models
CMD ["run", "-m", "/app/models", "--enable-api","--cors","*","--debug" ,"--endpoints", "endpoints.yml", "--log-file", "out.log", "--debug"]
EXPOSE 5005
Dockerfile for action server
FROM rasa/rasa-sdk:2.8.2
WORKDIR /app
COPY actions /app/actions
USER root
RUN pip install --no-cache-dir -r /app/actions/requirements-actions.txt
USER 1001
CMD ["start", "--actions", "actions"]
@nik202 this is not RASA X, it’s rasa open source. config.yml file should be copied in rasa image right?
I don’t have config.yml file on VM, but I have docker-compose.override.yml
Here is config.yml on my source code
version: "2.0"
language: en
pipeline:
- name: WhitespaceTokenizer
- name: RegexFeaturizer
- name: LexicalSyntacticFeaturizer
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
analyzer: "char_wb"
min_ngram: 1
max_ngram: 4
- name: DIETClassifier
epochs: 100
- name: FallbackClassifier
threshold: 0.7
- name: DucklingEntityExtractor
url: http://localhost:8000
dimensions:
- amount-of-money
- time
- number
- name: SpacyNLP
model: "en_core_web_md"
case_sensitive: false
- name: "SpacyEntityExtractor"
# Note: It is not possible to use the SpacyTokenizer + SpacyFeaturizer in
# combination with the WhitespaceTokenizer, and as a result the
# PERSON extraction by Spacy is not very robust.
# Because of this, the nlu training data is annotated as well, and the
# DIETClassifier will also extract PERSON entities .
dimensions: ["PERSON"]
- name: EntitySynonymMapper
policies:
- name: AugmentedMemoizationPolicy
- name: TEDPolicy
epochs: 40
- name: RulePolicy
core_fallback_threshold: 0.4
core_fallback_action_name: "action_default_fallback"
enable_fallback_prediction: True
@nik202 bot has been working fine on my laptop without using docker
and I don’t see config.yml either on another machine that RASA X deployed.
and what’s the purpose of using docker-compose.override.yml then? whenever image updated docker-compose automatically pull that image right? I can’t use it on rasa open source?
@nik202 I rebuilt docker image, changed docker-compose.override.yml and config.yml as you suggested, restarted docker-compose, still getting same error.
@jpark2111 you only need docker file for rasa server 5005 and rasa action server 5055 and docker-compose.yml for both as you saw in my last thread that’s it and you can mention ducking in the docker-compose.yml and build. Nothing much you need.
But you need to copy every folder to the app for the docker container?