Failed to execute custom action with `rasactl connect rasa`

I run Rasa together with Rasa X on the same machine. I set up Rasa X with the ephemeral installer and connected to rasa with rasactl connect rasa . It all works fine, except that it cannot communicate to the action server for some reason.

I had the action endpoint as action_endpoint: url: "http://localhost:5055/webhook" on endpoints.yml file. Also I tried setting up the action endpoint as an external endpoint from another machine. Both cases I verified that the servers themselves are working, but the rasa instance is just not connecting to it. I’m getting the following error (for all of the actions):

rasa.core.processor  - Encountered an exception while running action 'action_get_userid'.Bot will continue, but the actions events are lost. Please check the logs of your action server for more information.
Traceback (most recent call last):
  File "/home/ubuntu/envs/rasax/lib/python3.8/site-packages/rasa/core/processor.py", line 772, in _run_act(production-worker) ion
    events = await action.run(
  File "/home/ubuntu/envs/rasax/lib/python3.8/site-packages/rasa/core/actions/action.py", line 672, in run
    raise RasaException(
rasa.shared.exceptions.RasaException: Failed to execute custom action 'action_get_userid' 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

@doguaraci its mean you want that rasa open-source with an action server should interact with Rasa X?

@nik202 I want the rasa open source (which I connected with Rasa X using rasactl connect rasa) to be able to make calls to rasa action server.

Later, I saw this: Customize Your Deployment. And implemented that too. Still getting the same error message.

@doguaraci please clear this to me what I understood, please. Hope you don’t mind?

  1. You have installed Rasa X ( version please ?) on the server
  2. You have a custom action code that you want to connect with Rasa X and for that, you need an action server?
  3. Now, the issue is that you had done everything and it’s not able to communicate with each other? i.e Rasa X GUI " You asked some question" and response should be fetched from the custom action code and displayed on Rasa X

Is that the issue or do I understand completely the wrong way? Sorry in advance.

Thanks.

@nik202

  1. I followed this verbatim: Installation to install Rasa X. Rasa X version is 1.0.1. Then I connected it to a rasa open source using rasactl connect rasa as described here: Command Line Interface

  2. Not sure what you mean by that. I have an action server that should be run together with rasa. I want to connect it to rasa. The reason I connected rasa to Rasa X was to collect conversations to Rasa X. But the app will be used through rasa endpoint mainly.

  3. The issue is that rasa is not connected to custom action server. I get the error above. And I tried three things:

    • Action server run locally on the same machine as rasa open source

    • An action server run on another machine

    • An action server set up like this: Customize Your Deployment

    Neither of them worked. I keep getting the same error.

@doguaraci did you able to connect the Rasa action server to RasaX? I have the same issue.

Unfortunately not @SahanNagoda . I gave up and decided not using Rasa X at all.

@doguaraci so sad to hear, do you want to install rasa x still?

Yes I’d still prefer a setup with Rasa X running @nik202

1 Like

what is your server on which you like to install?

Running into the same issue. Before we would create a docker-compose.overwrite.yml file.

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

Add that content and then sudo docker-compose up -d

Now with the ephemeral installation I don’t know what to do.

I’m sorry @nik202 , I didn’t understand your question. I want to be able to use an action server on Rasa X, installed with ephemeral installer.

I’m running the server on an aws ec2 machine with ubuntu 20.04 installed.

Did you ask about this, or something else?

@doguaraci yes, that information is just fine. Well I will be honest with you, I not yet tried ephemeral installer of Rasa X (I’m using docker compose installation for Rasa X 0.42.5 ) If you like I can guide you on that.

Confirm with me are you able to install Rasa X using Ephemeral Installer and you are not able to connect the action server with Rasa X is that right?

Any updates on this? I have the same issue as I’ve reported. I have installed Rasa X 1.1.0 and I want to know how I can instantiate a Custom Actions Server from a Docker Image for a specific Rasa X instance.

I’ve trained a model locally and uploaded it to Rasa X and it works, but the actions do not.

Can you please help me? @nik202

Same problem here. I’ve posted it in many posts, but nobody seems to know what to do.

Have you figured it out how to solve it?

@lucas144 please share with me the installation link which you followed.

Hello @nik202 , thanks for replying. So, I’ve installed Rasa X in a fresh Ubuntu 22.04 machine in AWS. For that, what I did was use the Ephemeral installer as described in this video, and after I got it properly installed I proceeded to upgrade the Rasa X instance so it uses the latest Rasa X (1.1.0) and Rasa Open Source versions (3.1.0). That works perfectly and I can run the mood bot in that instance without a problem.

The question now is how do I set up the Custom Action Server in that context (with rasactl). My idea originally was re-upgrade the Rasa X instance and add this code to the values.yml file, but it doesn’t seem to be working:

app:
  install: true
  name: "my_local_docker_img_name"
  tag: "my_local_docker_img_tag"

Such Docker image was built as explained in the documentation, and then pushed to DockerHub and pulled in the machine where I have Rasa X set up. Then I was trying to reference it from the values.yml file that is used to upgrade a certain Rasa X instance ( rasactl upgrade <instance_name> --values-file values.yml). If I do this, the process of upgrading times out after 10 minutes or so and the instance doesn’t get upgraded.

Any idea you can provide will be useful. I’ve been dealing with this for some days now and it’s becoming a bit frustrating.

Thanks.

@lucas144

well I have implemented this but for the version 0.42.5 using githubactions for 1 of my project and in that I have used docker-compose.override.yml to for custom action code run. So may be you have some steps issues.

Are you able to create the custom action image using docker file as mentioned in the documentation ?

Hello @nik202 . Yes, I’ve been able to create the Docker image following the documentation. What I don’t know as I said before is what to do next. How to specify in this new version of Rasa X that I want a certain instance use that image as the actions image for the server.

Have you tried doing this with rasactl?

Best

Well, I was finally able to find the solution. The problem was that the repo in DockerHub I was using for downloading the image was private, that’s why it was getting stuck when trying to upgrade the instance.

I had to change it to Public and it worked. Now I will see how to configure that in order to use it with a private repo.