Just A Rather Very Intelligent System, now on Messenger!
JARVIS is at your service here.
I created JARVIS with two goals in mind:
Take a look at the contributing guidelines to see how easy it is to add your own code. I'll be waiting for your pull request! 😉
A massive Thank You to all contributors, and congratulations to people who made their first open-source contribution! 🎉
Feel free to add to this list by opening an Issue/Pull Request.
|Name||Sample Query||Source (w/ Attribution)|
|anime||death note anime||Kitsu|
|book||anything you want book||Powered by Goodreads|
|coin||flip a coin||---|
|currency||usd to eur rate||Fixer.io|
|dice||roll a die||---|
|dictionary||define comfort||Words API|
|fact||tell me a fact||JARVIS|
|help||What can you do?||---|
|joke||tell me a joke||JARVIS|
|lyrics||paradise lyrics||Powered by musiXmatch|
|movie||iron man 2 movie plot|
|music||songs by linkin park||Spotify|
|news||latest news||Powered by NewsAPI|
|ping||ping google.com||Is it up?|
|request||report a bug
request a feature
|time||time in seattle||TimeZoneDB API|
|Google URL Shortener|
|video||videos of sia||YouTube|
|weather||weather in london||Info provided by OpenWeatherMap|
|wiki||wiki html||MediaWiki API|
|xkcd||show a random xkcd comic||xkcd|
More sample queries can be found here.
├── modules/ # home for various features ├── modules/src/ # code goes here ├── modules/tests/ # tests go here ├── data/ # home for shared data ├── templates/ # for sending structured messages ├── CONTRIBUTING.md # contributing guidelines └── jarvis.py # the main bot
sudo apt-get install python-dev libffi-dev libssl-dev
sudo pacman -S python2 libffi openssl
sudo yum install python-devel libffi-devel openssl-devel
brew install pkg-config libffi
export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/# May change with libffi version
pip install cffi
brew install libtins
pip install -r requirements.txt
http://localhost:5000/process/?q=<<YOUR_QUERY>>returns the intent of the query.
http://localhost:5000/search/?q=<<YOUR_QUERY>>returns the search result of the query.
You can mock the results for local testing by adding your queries here.
Note that for the search query to work, you have to set your own key (of the module that you want to test) in config.py
If you want a public endpoint, use the below button to deploy on Heroku and fill the relevant API keys that you would like to use:
I started out with a rule-based model, but it didn't scale well so now I've shifted to Natural Language Processing. Rest assured, I'll strive to keep it as simple as possible so that you, yes you, can contribute!
If you'd like to contribute to the old model, you are welcome to do so as well.
I've created a new branch
legacy for this purpose. I'll be accepting Pull Requests to this branch also. 😄
P.S. If you've come this far, you might as well contribute. Looking for a place to start? Take a look at some of the low-hanging fruits!