Capable of running edge-only?
echo-bravo-yahoo opened this issue · 3 comments
Hey! I'm having trouble deciphering from docs / product sites if Almond is capable of running exclusively on edge devices.
Unfortunately, google / amazon have poisoned the well for me on this, and I'm not interested in trusting that backend services will handle data responsibly, so I'm ruling out virtual assistants that require a backend infrastructure.
Even if the answer to this question is "no, and we never plan to support this," the docs should probably be a bit clearer. For instance, from Almond's homepage, there's a link titled "how you can run almond with maximum privacy" that links to here, which has no information at all about privacy. If that's the case, feel free to refer me to cut an issue against whichever repo houses the product site!
Hi! You have found the right repo to ask this question, I think.
Specifically, almond-server (aka this version of Almond, which is linked from the page you found) is a standalone app that you can run on your device. It will store your credentials locally, access third party services directly, and process data locally (with some caveats).
Now, by default, almond-server is configured to use our cloud service for the natural language processing parts. This is because the NLP model requires significant resources (disk space, memory, CPU) that are not usually available on the client.
You can avoid that cloud dependency if you install genienlp, download a pretrained model, and configure almond-server to load that model instead of connecting to our server.
Note though that our cloud service is completely anonymous. We do not store your commands unless you agree to it.
almond-server also talks to the Thingpedia repository of skills. It does so to download skills on demand. Thingpedia only hosts public data, and does not track who is accessing it. Data from Thingpedia is also cached locally so not all commands make a request to Thingpedia.
Finally, speech processing (speech to text and text to speech) is done entirely on the cloud, using Microsoft Azure Speech API. This is not easily avoidable, because high-quality speech models are demanding and commercial speech APIs are hard to beat with open-source resources. We welcome community contributions to support other speech services, such as DeepSpeech by Mozilla.
You can avoid this last aspect if you use the text interface instead of the voice interface.
Ah! This is exactly what I was looking for, thank you!
Is there any chance of adding something like this as a diagram to the homepage? I'd personally have had a lot more confidence from the outset if I could see the various linkages to other cloud services ("or bring your own!" for ones that are replaceable, like remote/local NLP).
I agree, thanks for the suggestion. I am going to leave this issue open, and transfer it to the repo that contains our website. I think our website is due for a redesign + content restructure, but I am not sure at this point when that will happen.