Genie Community Forum

Almond-Cloud 1.99 on Ubuntu 20.04

Hello,

I am trying to run Almond-Cloud 1.99 on Ubuntu 20.04. I already installed Almond-cloud by following the instruction on the Almond Stanford Website. I chose the configuration „Web Almond only“.

I am able to run the almond front- and back-end and log in with the root user. I can see the conversation with Almond and his message “Hello! What can I do for you?”. I can also select a skill, for example weather. But after starting a conversation with Almond, I only get the answer “Sorry, there seems to be a problem with the Almond service at the moment. Please try again later.”.

The master process shows the following error: HTTP request failed: {“error”:“No such model”}

Any idea how to solve the problem?

Thank you for your help!
Janika

Hi @Janika

If you install Almond-Cloud 1.99, you need to make sure it talks to a compatible NLP server. By default, I think we talk to the stable NLP server, which is only compatible with 1.8.

That is, to do that, you should set:

THINGPEDIA_URL = 'https://almond-dev.stanford.edu/thingpedia';
NL_SERVER_URL = 'https://nlp-staging.almond.stanford.edu';

in your configuration file.

Thank you very much! This fixed the problem!

Hi @gcampax

Again, thank you for your help.

I am currently working on an university project with Almond. My task is to develop a digital assistant for university purposes. I need customized skills, like „show me the campus map“ (which just returns a link) or different bit by bit query tasks to fill out forms.

I already installed Almond-Cloud on a virtual machine by following the instruction on the Almond Stanford Website. I chose the configuration „Web Almond only“. Now I am not sure if that’s the right configuration. Do I need the third configuration „a fully custom Thingpedia“ for my own skills or is it possible to do it in the public Thingpedia? Are there any other possibilities?

Our requirements for the project include: our own skills (as described above) and if possible all that hosted on our own server/VM. The project is really broad and open. Do you have any idea on how to implement this type of Almond?

Thanks again in advance and best regards!
Janika

Hi Janika,

You should be able to use the public Thingpedia for your skills. The skills will not be approved, but you should be able to set your developer key in almond-cloud to access skills that are not public yet.
(The key word is “should” - I’m actually not sure of that with almond-cloud, but it should be easy to fix if it doesn’t work).
You can also set up a custom Thingpedia if you want, but that’s a bit harder to manage.

An alternative you have is also Almond Server. Almond Server is the single-user, easy-install version of Almond, while almond-cloud is multi-user scalable and painful install. You can set up Almond Server to load Thingpedia skills from a local folder instead of Thingpedia (follow the instructions in the testing guide) and then you only need to upload to Thingpedia to get natural language working. And I’m more certain that Almond Server supports setting a custom developer key.

So, in fact I just checked and almond-cloud doesn’t let you set a global developer key to access private Thingpedia skills in external Thingpedia mode. So you might want to checkout this PR that adds that as a new configuration option.
That way, you can keep using almond-cloud, given you already configured it, and still get access to private skills in the public Thingpedia.

Hi @gcampax,

wow! Thanks for your answer and thank you for putting so much effort in solving the problem!

I have seen that your merge request was not yet successful, but tried to download your branch with the new additions. I added my developer key to the config.js and can now find the correct dev key in the settings of my locally run almond-cloud. So some things are working…but I can not find my (unreleased) skills that I programmed in the public almond as a developer.
Is this a mistake on my side or has this to do with the not yet fully checked code?

Best regards Janika

You mean you cannot see the skills in the “Configure New Skill” web UI?

Can you take a look at the web inspector and check that it’s making requests to almond-dev.stanford.edu/thingpedia with the right key?

Yes, exactly - I cannot see my skills in the “Configure New Skill” web UI.

I checked out the web inspector. But I am not sure where I can see the request. Maybe the pictures help. The developer key is correct.

(I edited your post to remove the pics with the keys - don’t want others to see that! You can DM me next time)

Yeah everything looks correct, I’ll check on the server side what’s happening…

Btw if you want faster help, you can hop on Discord (https://discord.gg/anthtR4) and I can help you.

Oh I see what’s going on!

You’re testing Almond 1.99, which connects to almond-dev.stanford.edu, but you uploaded to almond.stanford.edu
You’ll have to copy your skills over to the development version of Thingpedia.

(This is a temporary thing until we release Almond 2.0 - in the future there will only be one Thingpedia. I’m really sorry for the confusion!)

Hi @gcampax,

Thanks you lots again. Now we are able to see our configured skills in our locally run almond server. But the skills still do not work somehow. When typing the command it answers: “Sorry, I did not understand that. You might need to enable a new skill before I understand that command.”
The skill itself should be correct, since that is the one that works without any problems on the public almond as unreleased skill.
We still see the blue banner “The natural language dataset for this device is being updated. You should wait before testing.” in the console for the skills though. It takes quite long for them to disappear it seems, since they were gone much faster in the public almond environment. Could this be the cause why our almond does not yet recognize the skills?

Best regards
Janika

I apologize, it looks like there is a bug in the training backend for Almond 1.99, and the training got stuck.

You can workaround the bug by avoiding all uppercase letters in your #_[canonical] annotations. You should do that regardless, because everything is lowercased internally.
(or rather, everything would be lowercased if the bug wasn’t there)
I edited your devices to remove uppercase letters for now, please keep it in mind next time until this bug is fixed.

Also, in case you didn’t know it, while you’re testing things, you can use \t to access your device with ThingTalk code even if natural language is not working.

Also, I noticed that the comments in your code are not quite correct. I think perhaps you’re looking at the older version of the documentation, which was good for Almond 1.8 but not 1.99.
In case you didn’t see it, the newer documentation is at https://wiki.almond.stanford.edu/en/thingpedia

Thanks @gcampax!
Now I can see my skills and they are working. Once again you saved my day with this! I really appreciate your help!
Have great christmas!
Janika

1 Like