• Stars
    star
    819
  • Rank 55,239 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AIVA (A.I. Virtual Assistant): General-purpose virtual assistant for developers.

AIVA GitHub version CircleCI Codacy Badge Codacy Badge Dependency Status MIT licensed GitHub forks GitHub stars

AIVA (A.I. Virtual Assistant): General-purpose virtual assistant for developers. https://kengz.github.io/aiva-doc/

This project is under extension - to build a Contextual Graph Knowledge Base for knowledge encoding. Check Roadmap for more.

It is a bot-generalization: you can implement any features, use with major AI tools, deploy across platforms, and code in multiple languages.

AIVA is Details
general-purpose An app interface, AI assistant, anything!
cross-platform Deploy simultaneously on Slack, Telegram, Facebook, or any hubot adapters
multi-language Cross-interaction among Node.js, Python, Ruby, etc. using SocketIO.
built-in with AI tools (not preinstalled since v4) Tensorflow, SkFlow, Scikit, Pandas, Indico.ml, spaCy, Watson, Google APIs
hackable It extends Hubot. Add your own modules!
powerful, easy to use Check out setup and features

To see what they mean, say you have a todo-list feature for AIVA, written in Node.js and leverages NLP and ML from Python. Set your todo list earlier from Slack on desktop? You can access it from Telegram or Facebook on mobile.

Deepdream in AIVA (checkout v3.2.1), only took a few hours on the Deepdream module, and deployed it in AIVA in just minutes. Runs on Fb and Telegram simulteneously: Deepdream in AIVA

We see people spending a lot of time building bots instead of focusing on what they want to do. It still requires much effort to just get a bot up and running. Moreover, the bot built is often confined to a single language, single platform, and without AI capabilities.

Why restrict when you can have all of it? Why build multiple bots when you can have one that plugs into all platforms and runs all languages?

AIVA exists to help with that - we do the heavy-lifting and build a ready-to-use bot; it is general purpose, multi-language, cross-platform, with robust design and tests, to suite your needs.

AIVA gives you powerful bot tools, saves you the time to build from scratch, and allows you to focus on what you want to do. Morever, you can build once, run everywhere with AIVA's multi-adapter (Slack, Telegram, Fb).

Installation

1. Fork this repo so you can pull the new releases later:

    GitHub forks GitHub stars

2. Clone your forked repository:

git clone https://github.com/YOURUSERNAME/aiva.git

To sync the latest release of AIVA to your fork:

git remote add upstream https://github.com/kengz/aiva.git
git fetch upstream
git merge upstream/master

Setup

The line below runs bin/setup && bin/copy-config && npm install:

npm run setup

Then edit config/ files: default.json(development), production.json(production, optional), db.json(mysql)

The command installs the dependencies via bin/install && npm install, and prepare the database for aiva to run on. The dependencies are minimal: nodejs>=6, python3, and mysql.

See bin/install for the full list, and customize your own. This also runs the same sequence as the CircleCI build in circle.yml.

Docker. We also offer a Docker image kengz/aiva. It runs the same except with an extra layer of Docker. See Docker installation for more.

Run

npm start # runs 'aivadev' in development mode
# Add flags for more modes
npm start --debug # activate debug logger
npm start production # runs 'aiva' in production mode

See Commands for more. This will start AIVA with the default hubot adapters: Slack, Telegram, Facebook (only if activated). See Adapters for connecting to different chat platforms.

AIVA saying hi, translating, running deep neural net; on Slack, Telegram, Facebook:

AIVA on Slack, Telegram

Check Setup tips for help.

Legacy Releases

AIVA was known as Jarvis in version 2. It is now deprecated, but if you need to reference stuff from Jarvis, do git checkout tags/v2.0 or checkout the releases.

AIVA v3 was last released at v3.2.1, which was full featured, but quite heavy. We retire it in favor of a lighter, more developer-friendly and extendible version.

Roadmap

  • a built in graph brain for ad-hoc knowledge encoding, using CGKB and HTMI
  • a built in NLP intent-parsing engine

Contributing

We'd love for you to contribute and make AIVA even better for all developers. We're mainly interested in something generic and foundational, e.g. adding client for a new language, improving the NLP, adding a useful generic module, adding more adapters like Skype or Twilio.

More Repositories

1

SLM-Lab

Modular Deep Reinforcement Learning framework in PyTorch. Companion library of the book "Foundations of Deep Reinforcement Learning".
Python
1,244
star
2

awesome-deep-rl

A curated list of awesome Deep Reinforcement Learning resources.
646
star
3

openai_lab

An experimentation framework for Reinforcement Learning using OpenAI Gym, Tensorflow, and Keras.
Python
325
star
4

spacy-nlp

Expose Spacy nlp text parsing to Nodejs (and other languages) via socketIO
JavaScript
224
star
5

dokker

Dokker.js creates professional Javascript code documentations.
JavaScript
187
star
6

CGKB

Contextual Graph Knowledge Base
JavaScript
87
star
7

python

Python Style Guide
62
star
8

telegram-bot-bootstrap

A bootstrap for Telegram bot with deployable sample bot and JS-wrapped API methods.
JavaScript
45
star
9

robocup-soccer

A.I. Python project on RoboCup 2D Soccer Simulation League.
Python
31
star
10

lomath

Lomath is a tensorial math library extended from lodash, with performant math functions applicable to tensors(multi-arrays). It also has a standalone plotting module that using HighCharts and BrowserSync.
JavaScript
19
star
11

python-structure

Sample project structure for a python package.
Python
17
star
12

Risk-game

Implementation of the 2-player Risk game and the AI to play it, for Math 335 Probability project.
JavaScript
16
star
13

neo4jKB

A graph knowledge base implemented in neo4j.
JavaScript
12
star
14

nlp-time

NLP time parser for time, range, and cron pattern.
JavaScript
7
star
15

Machines

Turing Machines and their restrictions: DFA, NFA, PDA etc, implemented in JavaScript. The design is polymorphic to show the restrictions on Turing Machine.
JavaScript
6
star
16

psi-scraper

The Ion Cannon for scraper, with proxy, robust logic control, parallelization, Sequelize data model. Use with caution.
JavaScript
5
star
17

github-actions-self-hosted

Github Actions Self Hosted container Dockerfile
Dockerfile
5
star
18

reqscraper

Lightweight wrapper for Request and X-Ray JS.
JavaScript
4
star
19

torcharc

TorchArc: Build PyTorch networks by specifying architectures.
Python
3
star
20

Notes-on-AI-realization

Personal notes on possible AI realizations, from the perspective of Computer Science, Quantum physics, Mathematics, and Philosophy.
3
star
21

farming

Two engineers decide to become farmers
Python
2
star
22

k0s-cluster

Private Kubernetes cluster setup on a home lab using k0sctl and Helm charts.
Shell
2
star
23

SLM-Lab-doc

SLM Lab Gitbook Documentation
2
star
24

sheep-tinderbot

A tinder bot for a Sheep. Just for fun.
JavaScript
1
star
25

mnist-classifier

Simple MNIST classifier example using PyTorch Lightning.
Python
1
star
26

kengz.github.io

github page for kengz
HTML
1
star
27

ai-notebook

Experiments with A.I.
Python
1
star
28

awesome-dstack

A curated list of awesome dstack.ai resources
1
star
29

psi

The horsemen are getting back to work. New trading project psi - ψ.
JavaScript
1
star
30

openai_lab_doc_cn

Chinese version of the doc for OpenAI Lab https://github.com/kengz/openai_lab
JavaScript
1
star
31

poly-socketio

Polyglot SocketIO server that allows cross-language communication via JSON
JavaScript
1
star
32

lean-dl-example

Example of a lean deep learning project with a config-driven approach.
Python
1
star