/ai-chatbot-framework

A python chatbot framework with Natural Language Understanding and Artificial Intelligence.

Primary LanguagePythonMIT LicenseMIT

IKY

Join the chat at https://gitter.im/ai-chatbot-framework/Lobby Build Status

An AI Chatbot framework built in Python

Building a chatbot can sound daunting, but it’s totally doable. IKY is an AI powered conversational dialog interface built in Python. With IKY it’s easy to create Natural Language conversational scenarios with no coding efforts whatsoever. The smooth UI makes it effortless to create and train conversations to the bot and it continuously gets smarter as it learns from conversations it has with people. IKY can live on any channel of your choice (such as Messenger, Slack etc.) by integrating it’s API with that platform.

You don’t need to be an expert at artificial intelligence to create an awesome chatbot that has artificial intelligence. With this basic project you can create an artificial intelligence powered chatting machine in no time.There may be scores of bugs. So feel free to contribute via pull requests.

Installation

After any of next methods, you will need to import db, and navigate to http://localhost:8001.

Docker Compose

docker-compose build
docker-compose up

Docker

docker build -t "ai-chat-bot" .
docker run --name=chabot-node-1  -e="APPLICATION_ENV=Production" -v ./:/usr/src/app -p 8001:8080 -it ai-chat-bot gunicorn --bind 0.0.0.0:8080 run:app
docker exec -it chabot-node-1 python /usr/src/app/setup.py

without docker

  • Then use pip to install all required python packages
pip install -r requirements.txt
  • Run setup script for setting up some default intents
$ python setup.py
  • Development
$ python run.py
  • Production
$ APPLICATION_ENV="Production" gunicorn -k gevent --bind 0.0.0.0:8001 run:app

Heroku

Deploy

  • add your dev/production configurations in config.py
class Production(Config):
    # MongoDB Database Details
    DB_HOST = "mongodb://127.0.0.1:27017/"
    DB_USERNAME = ""
    DB_PASSWORD = ""

    # Web Server details
    WEB_SERVER_PORT = 80

class Development(Config):
    DEBUG = True

DB

Backup

docker-compose exec mongodb bash
cd data/
mongodump
exit
docker cp aichatbotframework_mongodb_1:/data/dump .

Restore

docker cp dump aichatbotframework_mongodb_1:/data/
docker-compose exec mongodb bash
cd data
mongorestore --drop --db=iky-ai --dir=dump/iky-ai/
exit

Tutorial

Checkout this basic tutorial on youtube,

IMAGE ALT TEXT HERE

Watch tutorial on Fullfilling your Chatbot Intent with an API Call - Recipe Search Bot

Please visit my website to see my personal chatbot in action

Dependencies documentations

Todos

  • Write Unit Tests
  • Improve intent classification accuracy
  • Add parameter types
  • Migrate UI to React JS

Free Software, Hell Yeah!


Made with ❤️ at God's Own Country.