Code Monkey home page Code Monkey logo

itsabot.org's Introduction

Abot

Getting Started | Contributing | Mailing List

GoDoc Travis CI

Note: This project is no longer supported, as I no longer have the time to maintain it.

Abot (pronounced Eh-Bot, like the Canadians) is a digital assistant framework that enables anyone to easily build a digital assistant similar to Apple's Siri, Microsoft's Cortana, Google Now, or Amazon Alexa. Further, Abot supports a human-aided training backend enabling anyone to build services like Facebook M.

Unlike those proprietary systems, Abot is open-sourced and extensible. By providing an extensible platform onto which anyone can easily add functionality, Abot is the first A.I. framework that aims to be available everywhere and— ultimately—to do everything.

Installation

Dependencies: Abot requires that the following programs are installed:

Fetch Abot via go get

$ go get github.com/itsabot/abot

Then create a new project anywhere in your $GOPATH, passing in your Postgres credentials/host if needed. Projects should be named with camelCasing.

$ abot new yourproject [username[:password]@host[:port]]
Success! Created yourproject

If you don't pass anything to the command, the Postgres parameters will default to host = 127.0.0.1, port = 5432, and username = postgres. You may need to edit your pg_hba.conf file if you want to use this password-less default.

During setup, if the psql binary is unavailable, the script will skip the database setup. To setup the database on an different machine, you can run cmd/dbsetup.sh on the host that has Postgres / psql available. This script takes the same Postgres parameter as abot new.

Once the script completes, launch the server:

$ cd yourproject
$ abot server

Then visit Abot at localhost:4200.

Usage

First configure the plugins you want to import, such as weather. Add them to your plugins.json like so:

{
	"Version": 0.2,
	"Dependencies": {
		"github.com/itsabot/plugin_weather": "*"
	}
}

Then run the following in your terminal to download the plugins:

$ abot install
Fetching 1 plugin...
Installing plugin...
Success!

That will download the plugins into your $GOPATH and install them into your project. Once you've installed the plugins, boot the server again: abot server. You can then use the included Abot console to communicate with Abot locally:

$ abot console
> Hi
Hello there!

You can learn more in our Getting Started guide.

Goals

We believe that A.I. will impact every business worldwide and dramatically change our lives. While Apple, Google and others rush to build proprietary digital assistants, there's a great need for an open approach that can be made to run anywhere and be customized to do anything you need.

Abot enables any person or business to build digital assistants like Siri using plugins that are as easy to install and run as WordPress. Soon it'll be as easy to leverage A.I. in your business as it is to start a blog or an online store. Imagine setting up an AI assistant to answer your phones, schedule meetings, and book travel for your company in 30 seconds or less. The future's almost here, and Abot's going to lead the way.

We have a long road ahead of us, but "nothing ever comes to one that is worth having except as a result of hard work." -- Booker T. Washington

Follow our progress on our Roadmap or learn how you can get involved with our Contributor's Guide.

License

MIT, a copy of which you can find in the repo.

This project uses a Bayesian classifier library (github.com/jbrukh/bayesian), whose BSD-style license you can find in /core/training/LICENSE.md.

itsabot.org's People

Contributors

egtann avatar reillywatson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

itsabot.org's Issues

Add email verification on signup

Send the user an email on signup and require them to click a link or visit otherwise visit a specific (secret) URL. The URLs should only remain valid for 30 minutes, after which time it'll tell them the URL expired and to try signing up again.

We'll add a hard dependency to an external mail service to do this. Perhaps Mailgun, but will evaluate others.

List of plugins rather than a site-only list

I've been trying to find all the plugins available at this current time, but at this time there's no way to list all the plugins. I think it would be better to go with just a standard list of plugins that can be added to in this repo via PR, that way we don't have to access the website to search/view all plugins.

Automatically re-run plugin CI when Abot is updated

It should run all continuous integration for every published plugin whenever it sees github.com/itsabot/abot has been changed. It could simply check for an update from github.com every hour, then kick off a CI process testing each of them against the updated version.

The plugin CI process should automatically email the maintainer of the plugin to notify him/her of what went wrong and how to fix it (instructions to pull changes, test, fix, and push).

Site Down?

It appears the site is down? Apr 14 @ 8:21PM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.