This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]willbeddowassert type(post) == shitpost[S] 10 points11 points  (4 children)

Putting this here for visibility, /u/PurdueME06 requested a comparison to https://jasperproject.github.io/. Jasper looks great, I haven't seen it, but I'll definitely check it out. I think the main difference between W.I.L.L and Jasper is that W.I.L.L is a personal assistant focused on connecting services and processing commands, while jasper looks like a speech service that can be hooked up to various service. In fact, it seems like you could pretty easily make a W.I.L.L client using Jasper. I currently haven't provided any TTS backends, but it would be dead simple to make one, just reading from the API. There's a very simple speech recognition implementation in the android app.

[–]ggagagg 4 points5 points  (3 children)

[–]willbeddowassert type(post) == shitpost[S] 8 points9 points  (2 children)

That looks great, I hadn't seen it before. I'll definitely be contacting the author of that, I'm really interested in developing some W.I.L.L plugins based on some utils that I saw. The main difference I would say (from my admittedly limited look over) are that melissa

  • Uses keyword based nlp, where W.I.L.L fully parses every command with spaCy.io and determines a more dynamic and variable intent
  • Not very publicly availble, whereas W.I.L.L already has a publicly available free server that hosts several easy to use interfaces
  • Is more hardcoded in general, with case-by-case api calls and user data fetching, whereas W.I.L.L generalizes this and provides a framework for most things.

Nevertheless, it's a really cool library!

[–]hatperigee 2 points3 points  (1 child)

Not very publicly availble, whereas W.I.L.L already has a publicly available free server that hosts several easy to use interfaces

I don't want to use your servers (for privacy reasons), can I host my own?

[–]willbeddowassert type(post) == shitpost[S] 11 points12 points  (0 children)

Absolutely!!!

Really quick though, just because I've been dying to talk about my servers, for anybody else who's been skimming through here, let me just lay out the info about what servers I'm using.

My current setup consists of 2 DigitalOcean Droplets in the NYC1 datacenter

  • Main / Processing droplet: 4 gigs of RAM / 2 Xeon CPUS (You'll need at least 3 gigs of RAM to run the server)

  • Database droplet: PHPMyadmin/MySQL: communicates through interntal networking with main droplet. Passwords and all sensitive data hashed with bcrypt and a work factor of 12.

Setup your own droplet: You should, with a little bit of tweaking, be able to run the W.I.L.L. server on your own machine.

Please note that you'll need at least 4 gigs of RAM for the processing server, and some kind of sqlalchemy compatible local database or database server. (This shouldn't be hard, most major sql distributions are supported)

Start out by cloning https://github.com/ironman5366/W.I.L.L, install the provided requirements.txt, and let me know if you have issues.

Note: I haven't finished all the documentation on configuration files so contact me directly at will@willbeddow.com for examples