Now Available: Integrated Version Control for Rasa X

I am facing an issue . I have installed rasa x using the integrated control … I have followed the procedure given in docs. I have synced my git to the rasa x . It shows a green handle meaning sync successful. All the stories , responses, have been updated in rasax uI. when i chat with the bot it doesnt give a reponse. I checked console it is giving 2.76631f6e.chunk.js:2 POST http://206.189.143.250/api/conversations/0a8f146e2a8f44fa8015dc9ed8b278bd/messages?environment=production 404 (Not Found) . the link address gives this json error : {“reasons”:[“Authorization header not present.”],“exception”:“Unauthorized”}. I am stuck for 2 days please help!!

Hi @pranavamakarand,

I think this problem isn’t actually related to Integrated Version Control. Can you please share the logs of your rasa-production instance? It seems like it it isn’t up for some reason. And how did you deploy Rasa X?

I deployed rasa x using docker method. Here are the snippets using the following command sudo docker-compose logs. @Tobias_Wochinger

I am sorry this post is too long . i dont know what to do.

I have shared please help I have been waiting for 4 days.

Tobias, the link documentation seems to be broken:

image

I/m trying to figure out what Rasa puts into Git when integrating Rasa and version control.

If I understand well, following files and folders will be part of commit:

  1. Training data, i.e. NLU and stories
  2. The domain (prefered a file, but could be a folder)
  3. Common actions and forms, either in one action file or in an action folder
  4. The configurations, i.e. config, credentials and endpoints (prefered one file each, but could be a folder)
  5. The trained models

First question All of these and no others, or am I wrong with some of them?

Second question Shouldn’t be the guest /test users story be part of the version control?

Considering:

Pro: To analyse a model, test users stories and model version should to be linked

Contra: When analysing test users story, the story it self is important, not why it went wrong in a specific model. Use the story either to test a new model prefreable as end-to-end test. Or use the NLU in the story and the story itself to create new training data

Hi @HermanH. When you version your Rasa assistant and push it to a remote Git repo like GitHub, whatever you decide to include will be versioned.

When Integrated Version Control in Rasa X loads in your assistant, it syncs your NLU and stories training data, domain, end-to-end tests, and configuration files.

Your trained models are not versioned in Git because they are large files, not semantically meaningful, and the training data and config, which are versioned, are enough to reproduce the model.

Since coding actions and forms is best done in a text editor or IDE and not possible in Rasa X, that is not synced with Rasa X.

You can’t view end-to-end tests that you save from user conversations in the Rasa X UI, but it will save and version them, so you can push them to your remote Git repository and view them.

The conversations themselves are not versioned, since they are not part of your assistant. I could see potential value in the UI exposing which model handled a conversation, though like you mentioned, I think it might be more useful to expose the story and policy that was used at the time of prediction for a conversation

2 Likes

Hi, I am trying to authenticate with the Rasa X server using API token authentication. Executing this after replacing server host and api token:

curl --request POST \
     --url http://<Rasa X server host>/api/projects/default/git_repositories?api_token=<your api token> \
     --header 'content-type: application/json' \
     --data-binary @repository.json

Gives me this error {"reasons":["Authorization header not present."],"exception":"Unauthorized"}curl: (6) Could not resolve host: XX}

On Rasa X I can see my domain file, config file and story data but I can’t see my models directory and nlu data. Any idea where I could have gone wrong

This is what i get from docker-compose logs rasa-x

Edit: The API token authentication is now working but model files and nlu.md data still missing…don’t know both are present in the develop branch of my repository and I have set the target branch as develop

Hi @DaVeY79,

which Rasa X version are you running? And how does your file structure within the repository look like?

@Tobias_Wochinger

I am running Rasa X version 0.28.6

Screenshot 2020-06-08 at 4.11.42 PM

File structure within /etc/rasa looks like this

An update: I was able to upload my NLU data by changing the NLU data to the new rasa 1.10.2 format. I then pushed the changes to github and the training data is now visible on rasa x. But the model files on github are still not visible… I had to upload the model.tar.gz file using the upload button on Rasa X. After making the model active the bot doesn’t respond to my messages… it shows dialogue status as thinking/typing. Also the interactive session keeps resetting and the messages I type disappear.

. But the model files on github are still not visible…

Model files are not synchronized by Integrated Version Control. Our reasoning behind that was that models are artifacts and can be reproduced based on the checked-in training data (similar how application binaries are not checked into Git as they can just be rebuilt).

After making the model active the bot doesn’t respond to my messages…

Did you deploy your custom action server as described here ?

Feedback on Integrated version control

{“rasa”:{“production”:“1.10.3”,“worker”:“1.10.3”},“rasa-x”:“0.29.1”}
Kubernetes employment
Bitbucket version control
Connection via the Rasa x Menu, following instructions in Rasa X.

What works

  1. I was able to connect to my repository
  2. I was able to synchronize Rasa X and BB
  3. Rasa X showed changes not being checked in yet
  4. Good instructions, both in Rasa X as in the documentation

Imporvements proposal

  1. Change branche from within Rasa X, without need to disconnect from Bitbucket. Disconnecting forces me to enter the repo once again and to enter a new security key.
  2. Seems like look-up isn’t synchronized from Bitbucket to Rasa x.
  3. Didn’t check if regex wil be synchronized, becuase my regex in Rasa X was the same as in Bitbucket when connecting.

Note for fellow users

  1. Notice that their can be quit some time between connecting, i.e. pushing the done button, and Rasa showing you’re connected/ At first, I thought connection failed. But after a little time and refreshing browser page, I saw in Rasa X that I was connected.
1 Like

Thanks for the detailed feedback @HermanH :rocket: :pray: @Saladdin you should be able to update the the repository credentials without re-connecting at the moment, no?