Rhasspy automatically deleting graph folder

Hi everybody,

I have been playing with Rhasspy since end of last year and I have to say that I am really happy with the features Rhasspy provides and with functionality I was able to achieve in this short time. So first of all I would like to thank synesthesiam and his development team for their excellent work. I would also like to thank all members in this community who supported providing ideas, hints and solutions.

However, after weeks of stable operation I ran into a problem yesterday that I cannot resolve on my own.

In order to put items on a shopping list, that I can then see in the Bring! App on my smart phone, I extended sentences.ini with this command:

[SetShoppingList]
($synonyms_change_command) {command} ($shopping_item) {value} [to] [from] ($device_name_shoppinglist) {device}(:){state:.saveItem}

In “slots” I amended the paths to my three shopping lists:

"device_name_shoppinglist": [
    "(thomas | thomas_list):bring.0.xxx",
    "(wife | wifes_list):bring.0.yyy",
    "(common_list | household):bring.0.zzz"
],

as well as the list of items:

“shopping_item”: [
“bread”,
“butter”,
“beer”
],

The slots “($synonyms_change_command)” contains commands like put, set, delete, remove etc and is also being used to control all my devices.

In the beginning my new feature worked fine. But when I started to extend the shopping_item list, I had to find, that all on a sudden Rhasspy deleted the complete content of the graph folder (~/.config/rhasspy/profiles/de/kaldi/model/graph). As a consequence I get the error message
that the HCLG.fst file is missing and Rhasspy does not accept any commands any more.

Thanks to my backups I was able to recover the graphs folder quickly. However, pressing the Train-button again results in the error message and the graph folder is deleted again.

I also found that trained words do not appear in ~/.config/rhasspy/profiles/de/kaldi/model/graph/words.txt although they have been included in kaldi_custom_words.txt

And finally: A command “Put (remove) bread to (from) Thomas’ list” is correctly identified and executed when I use the “Get intent” function in “speech”. However speaking the same sentence into the microphone completely fails. Identifying speech worked in the beginning. I can’t explain why.

Of course I could return to a stable system if I remove all entrances regarding my new feature in slots and sentences. Since this feature is really a powerful functionality I would like to keep it and hope that anyone can help me to find a way out of this problem. If further information is required, please let me know.

Thanks a lot in advance.

Kind regards,
Thomas

PS
My system:

  • Odroid H2 as remote Rhasspy with Kaldi, mqtt
  • Raspberry Pi4 as satellite with Matrix Voice
    the fault occurs in 2.4.18 and 2.419 as well
1 Like

Good Morning,

good news: I was able to to circumvent the fault by re-installing a backup of the complete profiles folder (not only graph/ as before). So please don’t waste your time on this issue anymore.

However, the question remains open, why Rhasspy started deleting the graph folder and continously repeated that after pressing the Train button. This really is a peculiar behaviour.

It was very helpful for me to have backups. This leads me to the suggestion, whether it could be possible to provide a backup and recovery function on the Rhasspy web frontend in a future version.

Kind regards
Thomas

As a general rule, Rhasspy should train in a temporary folder and only replace the profile files on successful training.

This will avoid this kind of issue and allow for Rhasspy to continue serving intent during training until a reload.

@synesthesiam What do you think?