chatbot,

Deploy chatterbot onto Heroku cloud

vkosuri vkosuri Follow Apr 02, 2018 · 2 mins read
Deploy chatterbot onto Heroku cloud
Share this

Full source code found here ChatterBot Django Live Example

The below notes are demonstrate to deploy ChatterBot Django into Heroku cloud.

Documentation

Start the Django app by running

python manage.py runserver 0.0.0.0:8000

If you running first time create chatterbot table before starting server

python manage.py migrate --run-syncdb

Further documentation on getting set up with Django and ChatterBot can be found in the ChatterBot documentation

Make migrations

python manage.py migrate

Train your bot

python manage.py train

Training Corpus Path

The chatterbot corpus path can be found here.

Bot Django Settings

You could found Bot settings here

CHATTERBOT = {
    'name': 'Heroku ChatterBot Example',
    'logic_adapters' : [
        "chatterbot.logic.BestMatch"
    ],
    'trainer': 'chatterbot.trainers.ChatterBotCorpusTrainer',
    'training_data': [
        'chatterbot.corpus'
    ]
}

If your app didn’t responding try to shift to postgresql, you will need install the dj_database_url package, to work nicely with PostgreSQL DB on heroku.

And also you will modify your settings.py as follows:

import dj_database_url
DATABASES={'default': dj_database_url.config()}

Allowed Hosts

Include your address at the ALLOWED_HOSTS directives in settings.py - Just the domain, make sure that you will take the protocol and slashes from the string

for example

ALLOWED_HOSTS = ['127.0.0.1', 'chatterbot-live-example.herokuapp.com']

Deploying on Heroku

Before deploying Heroku you should install Heroku CLI on your machine, documentation found here https://devcenter.heroku.com/articles/heroku-cli

Here some of the steps launch your Django app with Heroku

Build your app and run it locally

pip install -r requirements.txt
Downloading/unpacking ...
...
Successfully installed Django dj-database-url dj-static django-toolbelt gunicorn psycopg2 static3
Cleaning up...

To run your application locally,

heroku local web
11:48:19 web.1  | started with pid 36084
11:48:19 web.1  | 2014-07-17 11:48:19 [36084] [INFO] Starting gunicorn 19.0.0
11:48:19 web.1  | 2014-07-17 11:48:19 [36084] [INFO] Listening at: http://0.0.0.0:5000 (36084)
11:48:19 web.1  | 2014-07-17 11:48:19 [36084] [INFO] Using worker: sync
11:48:19 web.1  | 2014-07-17 11:48:19 [36087] [INFO] Booting worker with pid: 36087

Your app should now be running on http://localhost:5000/.

Deploy your application to Heroku

git add .

git commit -m "Added a Procfile."

heroku login
Enter your Heroku credentials.
...

heroku create
Creating intense-falls-9163... done, stack is cedar
http://intense-falls-9163.herokuapp.com/ | git@heroku.com:intense-falls-9163.git
Git remote heroku added

git push heroku master
...
-----> Python app detected
...
-----> Launching... done, v7
       https://intense-falls-9163.herokuapp.com/ deployed to Heroku

A more detailed information can be found here https://devcenter.heroku.com/articles/deploying-python

Join Newsletter
Get the latest news right in your inbox. We never spam!
vkosuri
Written by vkosuri Follow
Not a native English speaker or writer, Deutsch Learner, love to explore new ideas and document!.