Rasa X REI - instalation issues

Hi there!

I’ve installed Rasa X with REI, on a google cloud VM.

I’ve got:

antoniopedrolopes@rasa-open:~$ rasactl status
Name:                           catiax                                  
Status:                         Running                                 
URL:                            http://34.159vvvv:30031               
Version:                        1.0.1                                   
Enterprise:                     inactive                                
Rasa production version:        2.8.15                                  
Rasa worker version:            2.8.15                                  
Project path:                   /home/antoniopedrolopes/projetos/catiaV2

I’ve created a github workflow with this code:

on:
  push:
    branches:
      - main
    paths:
    - 'actions/**'

jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
    name: Build Action Server image and upgrade Rasa X deployment
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - id: action_server
      name: Build an action server with a custom actions
      uses: RasaHQ/action-server-gha@master
      # Full list of parameters: https://github.com/RasaHQ/action-server-gha/tree/master#input-arguments
      with:
        docker_image_name: 'nonola76/rasa_action'
        docker_registry_login: ${{ secrets.DOCKER_HUB_LOGIN }}
        docker_registry_password: ${{ secrets.DOCKER_HUB_PASSWORD }}
        # More details about github context:
        # https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context
        #
        # github.sha - The commit SHA that triggered the workflow run
        docker_image_tag: ${{ github.sha }}

I’ve got 2 problems:

  1. I cannot run actions on rasa X; the intent and action is recognized, but It doesn’t trigger.

  2. I cannot run an external connection, which I have in credentials.yml:

rasa_audiocodes.AudiocodesInput:
  token: "1234"

With Rasa Open Source, I had to run rasa run -m models --enable-api --cors "*" --debug in order to be able to use the audiocodes. Now, how can I automatically run it in rasactl?

Can someone tell me if I I’ve to or how can I change the values (append) in the helm / kubernetes ?

Thanks a lot!

REI installs KIND as Kubernetes (k8s) Platform and install RASA rasactl to deploy managed RASA X / OSS on top.

REI will check Requirements and install for the supported OS:

  • Docker
  • kubectl
  • helm
  • kind
  • rasactl
1 Like

Hi @jackalberto,

I understand that. My main issues is that on Rasa OS, I had to, manually, run actions & rasa run -m models --enable-api --cors “*” --debug.

My question is how can I do it automatically with this installation, so that would be active 24/7?

Thanks

@nonola can you in summary you tell me what is the main issue? I did not get it.

@nonola as I can see you did not mention the requirements.txt file in GitHub actions? did you mention the image you pushed on the docker registry in values.yml? As I not used the REI ( I have used this use case with docker and Rasa x version 0.42.5) - Thanks.

Hi @nik202 No, I didn’t mention the requirements.txt file.

And as we use kubernetes & helm, I really dont know how to push values.yml.

Is it like docker?

Thanks a lot!

@nonola have you performed this : Customize Your Deployment ?

I personally not implemented using Kube and helm.

Please I highly recommend to see this andd update two main codes: https://github.com/RasaHQ/helpdesk-assistant/blob/main/.github/workflows/continuous-integration.yml

1. requirements_file:
2. docker_image_name: 'rasa/helpdesk-assistant'
3. docker_image_tag: 'latest'

Note: not to use github.sha using image_tag also all the dependencies required for actions.py have to be installed.

Hi @nik202 , hope you are fine.

My current actions github workflow is:

name: action server
on:
  push:
    branches:
    - main
    paths:
    - 'actions/**'
    - '.github/workflows/action_server.yml'

jobs:
  docker:
    name: Build Action Server Docker Image
    runs-on: ubuntu-latest
    steps:
      - name: Checkout git repository 🕝
        uses: actions/checkout@v2
      - name: Build Actions Server Image
        uses: RasaHQ/rasa-action-server-gha@main
        with:
          actions_directory: 'actions'
          requirements_file: 'actions/requirements-actions.txt'
          docker_registry_login: ${{ secrets.DOCKER_HUB_LOGIN }}
          docker_registry_password: ${{ secrets.DOCKER_HUB_PASSWORD }}
          docker_image_name: 'rasa/helpdesk-assistant'
          docker_image_tag: 'latest'
          rasa_sdk_version: '3.0.0'

My actions.py have this dependencies.

from typing import Dict, Text, Any, List, Union
from rasa_sdk import Tracker, Action
from rasa_sdk.executor import CollectingDispatcher
from rasa_sdk.forms import FormValidationAction
from rasa_sdk.events import Restarted, SlotSet
from datetime import datetime
import datetime as dt

What am I supposed to input in the requirements-actions.txt ?

I don’t konw if you understand my problem with the actions:

  • With a venv of Rasa OS, I run “Rasa run actions” and the action server starts and rasa shell recognizes an action intent and run a certain action.
  • With rasa-x, installed with REI, my problem is to “automatically” run “Rasa run actions” when talking to the bot in rasa-x interface.

The other problem is that when I don’t know how to “automatically” run " rasa run -m models --enable-api --cors “*” --debug" in rasa-x. That is, stay on all the times.

Thanks for your help!

@nonola how you are running the rasa x on server-side, can you share the command?

@nik202

I don’t undestand what you mean.

As I said before I installed it with REI:

antoniopedrolopes@rasa-open:~$ rasactl status
Name:                           catiax                                  
Status:                         Running                                 
URL:                            http://34.159.,,,:30031               
Version:                        1.0.1                                   
Enterprise:                     inactive                                
Rasa production version:        2.8.15                                  
Rasa worker version:            2.8.15                                  
Project path:                   /home/antoniopedrolopes/projetos/catiaV2

It is running 24/7 on a google cloud VM.

@nonola I mean if a server is shut down, how are you running the rasa x again? what command are you using?

@nik202 rasactl start…

As shown in Command Line Interface

This command you required to explore the API for the botfront widget to render on your website is that right?

@nik202 Not in the botfront widget.

I open a terminal and run it in rasa open source in a VM venv. Then I open another terminal and “rasa run actions”.

But this works in an independent Rasa Open Source environment, that has nothing to do with Rasa-X REI installation.

@nonola me confused now, if you are running Rasa X then why you need to open other two terminal?

@nik202

What I meant was:

  • First, I tried my project with rasa open source on a virtual env, in google cloud VM; that was when I had to open 2 terminals to the chat work. This on VM command line.

  • After I saw it worked fine, I wanted to install rasa-x; I installed it with REI, rasa-x server is working fine, but, in the browser with rasa-x interface, when I try an action intent is recognized, the action is not executed;

My problem is exactly that: why do rasa action don’t run with rasa-x, when they worked fine with rasa open source? The same with " --enable-api --cors “*” --debug"

Running rasa action server on Rasa X have different method to link with Rasa X, that’s why you are following Github action, to create the action server image and connecting with Rasa X using values.yml, as when it will connect with Rasa X when you start the Rasa x it will also start action server and all the code will run with ease.

@nik202

Right, I understant, but as I said before:

What am I supposed to input in the requirements-actions.txt ?

Thanks!

Right now, I’ve this pods:

antoniopedrolopes@rasa-open:/opt/containerd/lib$ kubectl -n catiax get pods
NAME                                     READY   STATUS    RESTARTS   AGE
rasa-x-app-85b6f789df-wjg49              1/1     Running   0          3d16h
rasa-x-db-migration-service-0            1/1     Running   2          3d16h
rasa-x-duckling-544b65cc49-2dfvn         1/1     Running   0          3d16h
rasa-x-event-service-6bcb69c6f6-5tcw6    1/1     Running   0          3d16h
rasa-x-nginx-868569c745-dl29g            1/1     Running   0          3d16h
rasa-x-postgresql-0                      1/1     Running   0          3d16h
rasa-x-rabbit-0                          1/1     Running   0          3d16h
rasa-x-rasa-production-d58795f99-h2t27   1/1     Running   0          3d16h
rasa-x-rasa-worker-98ccf8996-7t958       1/1     Running   0          3d16h
rasa-x-rasa-x-64bccbcf7b-mj92m           1/1     Running   0          3d16h
rasa-x-redis-master-0                    1/1     Running   0          3d16h

I’ve got to have an action-server pod, right?