Rasa-x 1.0.1 compatibility issue with Rasa 2.8.2 & 2.8.17 models

Be aware of a breaking change in Rasa 2.8.9 with models.

breaks backward compatibility of previously trained models. It is not possible to load models trained with previous versions of Rasa Open Source. Please re-train your assistant before trying to use this version.

It will not work if you are trying to use the model made from Rasa 2.8.2.

@virtualroot Thank you for your suggestion, however, please see my post here: Rasa-x 1.0.1 compatibility issue with Rasa 2.8.2 & 2.8.17 models - #15 by holyone2two . For the rasa library I have also tried the very latest versions.

i.e. I have tried with rasa 2.8.14 given that is what is recommended by the compatibility matrix but still got this error. Do you have any other ideas about what could be the issue? I note that I got a different error when linking it to github. It makes me wonder whether I am loading the model correctly.

For rasa-sdk I believe I am using the latest 2.x release with 2.8.3, as pip reveals the following options:

1.0.0rc3, 1.0.0rc4, 1.0.0, 1.1.0, 1.1.1, 1.2.0, 1.3.0a1, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.4.0, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1, 1.7.0, 1.8.0, 1.8.1, 1.9.0, 1.10.0a1, 1.10.0, 1.10.1, 1.10.2, 1.10.3, 2.0.0a1, 2.0.0a2, 2.0.0a3, 2.0.0a4, 2.0.0a5, 2.0.0rc1, 2.0.0, 2.1.0, 2.1.1, 2.1.2, 2.2.0a1, 2.2.0, 2.3.0, 2.3.1, 2.4.0, 2.4.1, 2.5.0, 2.6.0, 2.7.0, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 3.0.0rc1, 3.0.0rc3, 3.0.0, 3.0.1, 3.0.2)

If you have any advice on how to debug this issue I would be very grateful as this bug is preventing several users from being able to use Rasa X entirely.

@holyone2two Thanks for resuming the current status, I tried with a model made with Rasa 2.8.17 and I’m having a similar issue.

[2022-01-17 22:51:30 +0000] [23] [ERROR] Exception occurred while handling uri: 'http://xxx/api/projects/default/models?api_token=xxx'
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/sanic/app.py", line 973, in handle_request
    response = await response
  File "/usr/local/lib/python3.8/dist-packages/rasax/community/api/decorators.py", line 247, in decorated_function
    return await await_and_return_response(args, kwargs, request)
  File "/usr/local/lib/python3.8/dist-packages/rasax/community/api/decorators.py", line 177, in await_and_return_response
    response = await response
  File "/usr/local/lib/python3.8/dist-packages/rasax/community/api/decorators.py", line 84, in decorated_function
    return await f(request, user=user, *args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/rasax/community/api/blueprints/models.py", line 69, in upload_model
    minimum_version = await model_service.minimum_compatible_version()
  File "/usr/local/lib/python3.8/dist-packages/rasax/community/services/model_service.py", line 182, in minimum_compatible_version
    info = await stack_service.version()
AttributeError: 'NoneType' object has no attribute 'version'
1 Like

@holyone2two @polymaxim @soerenetler

Could you please try again with these changes in your values.yml file?

rasa:
  versions:
    rasaProduction:
      enabled: true
    rasaWorker:
      enabled: true

EDIT: The right approach is to use rasa connect.

In your rasa project folder, execute

$ rasa init
$ rasactl start -p
$ rasactl connect rasa
6 Likes

Wow thanks that works!!

That solved the issue which has been haunting me for a long time now :slight_smile: :fireworks:

Please could you update the official docs accordingly? :bowing_man:

1 Like

Thank you so much! That seems to have solved my issue as well.

Hi there!

Can you tell me where do I create the “values.yml” file? I’m using a GCC VM and installed rasa x with Rasa Ephemeral Installer.

Thanks

You can create it in your home folder, then apply the changes with rasactl upgrade <RELEASE-NAME> --values-file values.yml.

You can find out the <RELEASE-NAME> with rasactl list.

1 Like

Can someone tell me if RASA X - 1.0.1 works fine with RASA Open source - 2.8.21 or not?

@holyone2two

╰─❯ rasactl status                                                                                                                                                                                                                       ─╯
Name:                           rasa-x-ben                         
Status:                         Running                            
URL:                            http://rasa-x-ben.rasactl.localhost
Version:                        1.0.1                              
Enterprise:                     inactive                           
Rasa production version:        0.0.0                              
Rasa worker version:            0.0.0                              
Project path:                   /data/Software/rasa-x-1.0.0   

How did you change your URL ip to “http://rasa-x-ben.rasactl.localhost”?

Thanks

I’ve only tested so far with 2.8.15-full

1 Like

That’s the default when deploying via Ephermeral Installer and

rasactl start --values-file values.yml --kubeconfig /home/ben/.kube/config --project rasa-x-ben --verbose

1 Like

is there a solution for the docker-compose approach? I am using rasa-x 1.0.1 and rasa 2.8.22 and not able to upload the model through rasa x Even if a copy the model to models directory, these models are not reflected on rasa-x UI

I wish I found this earlier — A heads up, this issue remains in rasa X 1.1.1 and rasa 3.1.0 I think the explanation is that

rasa:
  versions:
    rasaProduction:
      enabled: true
    rasaWorker:
      enabled: true

registers and deploys the production and worker rasa server and their versions, when you hit the api/version endpoint, the ‘rasa’ key gets populated. If those rasa instances are not present the key is empty or 0.0.0 which causes all kinds of issues inside rasaX and prevents model uploading as in the main issue. A solution that worked for me if you don’t want several rasa instances laying around is to make these worker and production instances external enabled and point to your assistant in production.

1 Like