@nik202 The referenced installation method is still available however, docker-compose and local mode methods are being deprecated and will be removed with the next Rasa X release. As an alternative method for installation, we suggest helm or Rasa Ephemeral Installer. We are planning to produce some content to clarify that a little bit more
Thanks @Juste for the updated information on Rasa X installation. I hope Antonio you have clarity on this installation issue. I hope what we had discussed offline you are able to performed.
Hi @nik202 ,
I’m afraid that when I try to build my action server I’ve got this error : Step 1/12 : FROM rasa/rasa-sdk:2.8.11 manifest for rasa/rasa-sdk:2.8.11 not found: manifest unknown: manifest unknown Error: Process completed with exit code 1.
@nonola go for 2.8.5 or 2.8.3 for rasa-sdk check this it will help : Compatibility Matrix
Step-by-step, will make it!
Now this one:
Step 5/12 : COPY __init__.py ./
COPY failed: file not found in build context or excluded by .dockerignore: stat __init__.py: file does not exist
Error: Process completed with exit code 1.
@nonola if it’s not created on the action folder as it’s the mandatory file just create with the name __init__.py
, if you have ever installed the default mood bot its the mandatory file and you will see in every github rapo of rasa. You can ignore also but its an mandatory file, ref: https://github.com/RasaHQ/rasa-demo/tree/main/actions
The file is there. Maybe the problem is with the dockerfile
FROM rasa/rasa-sdk:2.8.3
WORKDIR /app
# COPY . /app
#COPY actions/requirements.txt ./
COPY ./actions /app/actions
COPY ./data /app/data
COPY __init__.py ./
@nonola just comment it then if you already have that file in the actions folder, it will eventually copy inside the container then.
@nonola any update?
Hi @nik202 !
Sorry, but I had 2 days off.
I’m having problems with my action server. The docker is restarting all the time…
antoniopedrolopes@rasa-open:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d202d3d6cab3 nginx:1.19 "/docker-entrypoint.…" 2 days ago Up 53 seconds 80/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp rasa_nginx_1
620e301dd534 nonola76/rasa_action:actionserver "./entrypoint.sh 'ra…" 2 days ago Restarting (0) 23 seconds ago rasa_app_1
854d2cd416e9 rasa/rasa:2.8.11-full "rasa x --no-prompt …" 2 days ago Up 51 seconds 5005/tcp rasa_rasa-production_1
2aa7347bd4b8 rasa/rasa:2.8.11-full "rasa x --no-prompt …" 2 days ago Up 51 seconds 5005/tcp rasa_rasa-worker_1
1b87c38d713c rasa/rasa-x:0.42.5 "python -m rasax.com…" 2 days ago Up 52 seconds (healthy) 8000/tcp rasa_db-migration_1
192b6fb54e5d rasa/rasa-x:0.42.5 "/tini -g -- sh -c '…" 2 days ago Up 52 seconds 5002/tcp rasa_rasa-x_1
a2bfe9c11c61 rasa/duckling:0.1.6.5-r2 "duckling-example-ex…" 2 days ago Up 53 seconds 8000/tcp rasa_duckling_1
b0785f2a0b41 bitnami/rabbitmq:3.8.17 "/opt/bitnami/script…" 2 days ago Up 51 seconds 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp rasa_rabbit_1
282e8e4b1e44 bitnami/redis:6.2.4 "/opt/bitnami/script…" 2 days ago Up 52 seconds 6379/tcp rasa_redis_1
fa3b378b42cd bitnami/postgresql:11.11.0 "/opt/bitnami/script…" 2 days ago Up 51 seconds 5432/tcp rasa_db_1`Preformatted text`
Here is my container log:
Available options:
start - Start Rasa Action Server
help - Print this help
run - Run an arbitrary command inside the container
Available options:
start - Start Rasa Action Server
help - Print this help
run - Run an arbitrary command inside the container
Available options:
start - Start Rasa Action Server
help - Print this help
run - Run an arbitrary command inside the container
Available options:
start - Start Rasa Action Server
help - Print this help
run - Run an arbitrary command inside the container
Available options:
start - Start Rasa Action Server
help - Print this help
run - Run an arbitrary command inside the container
Available options:
start - Start Rasa Action Server
help - Print this help
run - Run an arbitrary command inside the container
My Dockerfile:
FROM rasa/rasa-sdk:2.8.3
WORKDIR /app
# COPY . /app
#COPY actions/requirements.txt ./
COPY ./actions /app/actions
COPY ./data /app/data
#COPY __init__.py ./
USER root
#RUN pip install -r requirements.txt
RUN ls -l
RUN ls -R
EXPOSE 5055
USER 1001
CMD ["start", "--actions", "actions"]
Any idea, how to solve this?
Thanks a lot!
@nonola you need to check your actions.py file, I guess there is an issue in the code.
docker-compose up
and check app_1 logs
Here is a part of it:
antoniopedrolopes@rasa-open:/etc/rasa$ docker-compose up
rasa_db_1 is up-to-date
rasa_rabbit_1 is up-to-date
rasa_redis_1 is up-to-date
rasa_duckling_1 is up-to-date
rasa_db-migration_1 is up-to-date
rasa_rasa-x_1 is up-to-date
rasa_rasa-worker_1 is up-to-date
rasa_rasa-production_1 is up-to-date
rasa_app_1 is up-to-date
rasa_nginx_1 is up-to-date
Attaching to rasa_db_1, rasa_rabbit_1, rasa_redis_1, rasa_duckling_1, rasa_db-migration_1, rasa_rasa-x_1, rasa_rasa-worker_1, rasa_rasa-production_1, rasa_app_1, rasa_nginx_1
app_1 | Available options:
app_1 | start - Start Rasa Action Server
app_1 | help - Print this help
app_1 | run - Run an arbitrary command inside the container
app_1 | Available options:
app_1 | start - Start Rasa Action Server
app_1 | help - Print this help
app_1 | run - Run an arbitrary command inside the container
app_1 | Available options:
app_1 | start - Start Rasa Action Server
app_1 | help - Print this help
app_1 | run - Run an arbitrary command inside the container
app_1 | Available options:
app_1 | start - Start Rasa Action Server
app_1 | help - Print this help
app_1 | run - Run an arbitrary command inside the container
app_1 | Available options:
app_1 | start - Start Rasa Action Server
app_1 | help - Print this help
app_1 | run - Run an arbitrary command inside the container
app_1 | Available options:
app_1 | start - Start Rasa Action Server
app_1 | help - Print this help
app_1 | run - Run an arbitrary command inside the container
app_1 | Available options:
app_1 | start - Start Rasa Action Server
app_1 | help - Print this help
I think it’s strange, because with rasa open source, when I runned “rasa run actions” I had no problem using these actions…
@nonola strange, for me its not a log for sure, as it not showing any actions related code
Do check the path of data if you are using? its absolute or relative ?
Which path? Where?
@nonola if you are using some data or etc, share some action.py file. This issue can only be because of action.py file related errors.
No I used rasa open source venv, and this is what i get:
antoniopedrolopes@rasa-open:~/projetos/catiaV2$ source ~/venv/bin/activate
(venv) antoniopedrolopes@rasa-open:~/projetos/catiaV2$ rasa run actions --debug
2022-03-03 11:42:54 INFO rasa_sdk.endpoint - Starting action endpoint server...
2022-03-03 11:42:54 INFO rasa_sdk.executor - Registered function for 'action_chat_restart'.
***Action Doc ID*******************
2022-03-03 11:42:54 INFO rasa_sdk.executor - Registered function for 'action_doc_ID'.
***def name*******************
2022-03-03 11:42:54 INFO rasa_sdk.executor - Registered function for 'action_nacionalidade'.
***def name*******************
2022-03-03 11:42:54 INFO rasa_sdk.executor - Registered function for 'action_senha_recuperar'.
2022-03-03 11:42:54 INFO rasa_sdk.executor - Registered function for 'action_saudação'.
2022-03-03 11:42:54 INFO rasa_sdk.executor - Registered function for 'action_hello_world'.
morada_name
2022-03-03 11:42:54 INFO rasa_sdk.executor - Registered function for 'validate_morada_form'.
2022-03-03 11:42:54 INFO rasa_sdk.endpoint - Action endpoint is up and running on http://0.0.0.0:5055
2022-03-03 11:42:54 DEBUG rasa_sdk.utils - Using the default number of Sanic workers (1).
Here it runs fine…
@nonola I am more interested regarding server-side docker logs, not localhost.
The docker is already working fine; I changed docker-compose.override.yml to
expose:
- "5055"
depends_on:
- rasa-production
and delete the line “rasa run actions” or something like this.
Now, I’ve got:
antoniopedrolopes@rasa-open:/etc/rasa$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f64e6401730e nginx:1.19 "/docker-entrypoint.…" 2 hours ago Up 2 hours 80/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp rasa_nginx_1
a6148a7e1c4c nonola76/rasa_action:actionserver "./entrypoint.sh sta…" 2 hours ago Up 2 hours 5055/tcp rasa_app_1
1bee9e21b6e3 rasa/rasa:2.8.11-full "rasa x --no-prompt …" 2 hours ago Up 2 hours 5005/tcp rasa_rasa-production_1
45daf3f1ca72 rasa/rasa:2.8.11-full "rasa x --no-prompt …" 2 hours ago Up 2 hours 5005/tcp rasa_rasa-worker_1
974e7ff0df4a rasa/rasa-x:0.42.5 "/tini -g -- sh -c '…" 2 hours ago Up 2 hours 5002/tcp rasa_rasa-x_1
8cf6f632e536 rasa/rasa-x:0.42.5 "python -m rasax.com…" 2 hours ago Up 2 hours (healthy) 8000/tcp rasa_db-migration_1
24b4f0ed296c bitnami/rabbitmq:3.8.17 "/opt/bitnami/script…" 2 hours ago Up 2 hours 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp rasa_rabbit_1
0970072a5be0 bitnami/redis:6.2.4 "/opt/bitnami/script…" 2 hours ago Up 2 hours 6379/tcp rasa_redis_1
8a585aced33c bitnami/postgresql:11.11.0 "/opt/bitnami/script…" 2 hours ago Up 2 hours 5432/tcp rasa_db_1
afa501781d5d rasa/duckling:0.1.6.5-r2 "duckling-example-ex…" 2 hours ago Up 2 hours 8000/tcp
But, on rasa x, when I try to run an action in “talk to your bot”, it gets recognized, but it wont run.
this is my log:
rasa-production_1 | rasa.shared.utils.io.raise_warning(
rasa-production_1 | 2022-03-03 18:20:04 ERROR rasa.core.processor - Encountered an exception while running action 'action_saudação'.Bot will continue, but the actions events are lost. Please check the logs of your action server for more information.
rasa-production_1 | Traceback (most recent call last):
rasa-production_1 | File "/opt/venv/lib/python3.8/site-packages/rasa/core/actions/action.py", line 685, in run
rasa-production_1 | response = await self.action_endpoint.request(
rasa-production_1 | File "/opt/venv/lib/python3.8/site-packages/rasa/utils/endpoints.py", line 172, in request
rasa-production_1 | raise ClientResponseError(
rasa-production_1 | rasa.utils.endpoints.ClientResponseError: 404, Not Found, body='b'{"error":"No registered action found for name \'action_sauda\\u00e7\\u00e3o\'.","action_name":"action_sauda\\u00e7\\u00e3o"}''
But, after this, I run it in rasa open source and It works fine!
This is my rasa os version:
(venv) antoniopedrolopes@rasa-open:~/projetos/catiaV2$ rasa --version
Rasa Version : 2.8.14
Minimum Compatible Version: 2.8.9
Rasa SDK Version : 2.8.4
Rasa X Version : None
Python Version : 3.8.10
Operating System : Linux-5.13.0-1015-gcp-x86_64-with-glibc2.29
Python Path : /home/antoniopedrolopes/venv/bin/python3
It drives me crazy… Any help?
I already guided you in our call, it’s good you solved this.
check indentation in the endpoints.yml I guess you using some endpoint? can you share me endpoints.yml?
This one if from /etc/rasa/
models:
url: ${RASA_MODEL_SERVER}
token: ${RASA_X_TOKEN}
wait_time_between_pulls: ${RASA_MODEL_PULL_INTERVAL}
tracker_store:
type: sql
dialect: "postgresql"
url: ${DB_HOST}
port: ${DB_PORT}
username: ${DB_USER}
password: ${DB_PASSWORD}
db: ${DB_DATABASE}
login_db: ${DB_LOGIN_DB}
lock_store:
type: "redis"
url: ${REDIS_HOST}
port: ${REDIS_PORT}
password: ${REDIS_PASSWORD}
db: ${REDIS_DB}
cache:
type: "redis"
url: ${REDIS_HOST}
port: ${REDIS_PORT}
password: ${REDIS_PASSWORD}
db: ${REDIS_CACHE_DB}
key_prefix: "rasax_cache"
event_broker:
type: "pika"
url: ${RABBITMQ_HOST}
username: ${RABBITMQ_USERNAME}
password: ${RABBITMQ_PASSWORD}
queues:
- ${RABBITMQ_QUEUE}
action_endpoint:
url: ${RASA_USER_APP}/webhook
token: ""
This one is in my project:
# This file contains the different endpoints your bot can use.
# Server where the models are pulled from.
# https://rasa.com/docs/rasa/model-storage#fetching-models-from-a-server
#models:
# url: http://my-server.com/models/default_core@latest
# wait_time_between_pulls: 10 # [optional](default: 100)
# Server which runs your custom actions.
# https://rasa.com/docs/rasa/custom-actions
# Tracker store which is used to store the conversations.
# By default the conversations are stored in memory.
# https://rasa.com/docs/rasa/tracker-stores
#tracker_store:
# type: redis
# url: <host of the redis instance, e.g. localhost>
# port: <port of your redis instance, usually 6379>
# db: <number of your database within redis, e.g. 0>
# password: <password used for authentication>
# use_ssl: <whether or not the communication is encrypted, default false>
#tracker_store:
# type: mongod
# url: <url to your mongo instance, e.g. mongodb://localhost:27017>
# db: <name of the db within your mongo instance, e.g. rasa>
# username: <username used for authentication>
# password: <password used for authentication>
# Event broker which all conversation events should be streamed to.
# https://rasa.com/docs/rasa/event-brokers
#event_broker:
# url: localhost
# username: username
# password: password
# queue: queue
action_endpoint:
url: "http://localhost:5055/webhook"