Skip to content

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

License

Notifications You must be signed in to change notification settings

alfredfrancis/ai-chatbot-framework

Repository files navigation

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. AI Chatbot Framework is an AI powered conversational dialog interface built in Python. With this tool, 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. AI Chatbot Framework 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 AI capabilities. With this boilerplate project you can create an AI powered chatting machine in no time.There may be scores of bugs. So feel free to contribute via pull requests.

Installation

Using docker-compose

docker-compose up -d

Using Helm

helm dep update helm/ai-chatbot-framework

helm upgrade --install --create-namespace -n ai-chatbot-framework ai-chatbot-framework helm/ai-chatbot-framework

# port forward for local installation
kubectl port-forward --namespace=ai-chatbot-framework service/ingress-nginx-controller 8080:80

Using Docker

# pull docker images
docker pull alfredfrancis/ai-chatbot-framework_backend:latest
docker pull alfredfrancis/ai-chatbot-framework_frontend:latest

# start a mongodb server
docker run --name mongodb -d mongo:3.6

# start iky backend
docker run -d --name=iky_backend --link mongodb:mongodb -e="APPLICATION_ENV=Production" alfredfrancis/ai-chatbot-framework_backend:latest

# setup default intents
docker exec -it iky_backend python manage.py migrate

# start iky gateway with frontend
docker run -d --name=iky_gateway --link iky_backend:iky_backend -p 8080:80 alfredfrancis/ai-chatbot-framework_frontend:latest

without docker

  • Setup Virtualenv and install python requirements
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python run.py
  • Production
APPLICATION_ENV="Production" gunicorn -k gevent --bind 0.0.0.0:8080 run:app

Update Frontend Dist

  • Run Development mode
cd frontend
npm install
ng serve
  • Take Production build
cd frontend
ng build --prod --optimize

Heroku

Deploy

  • add your dev/production configurations in config.py

DB

Restore

You can import some default intents using following steps

Screenshots

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

Todos

  • Write Unit Tests
  • Multilingual Intent Classifier
  • PyCRFSuite to sklearn-crfsuite migration
  • Support follow up conversations

Dependencies documentations

Free Software, Hell Yeah!