Ramukaka, stylized as RAMUkaka
, is the affectionate name for the chatbot in use at Agility Roots.
About the name:
RAMU
stands for Robotic Automated Monotony Undoer.kaka
is an Indian vernacular term used for an elderly uncle or sometimes, a respected helper.The instructions below tell you how to get your own instance of RAMUkaka
running on your own technology stack.
What? | Version? | Why? |
---|---|---|
OS | Ubuntu 16.04 64-bit (preferred) | RAMUkaka has been tested only on Ubuntu. |
Python | 3+ (3.5.2 recommended) | RAMUkaka uses Errbot as its bot framework, which supports Python 3. |
pipenv |
Latest (Install Instructions) | Errbot installation is recommended using a virtualenv , so pipenv was the natural option.If you don't know what the above means, read about Pipenv first. |
Note
RAMUkaka
can connect to the following services, so you need accounts you can use, and need to configure each service separately.
What? | What needs to be done? |
---|---|
Slack | Follow the instructions for creating a Bot token for Errbot. |
AWS |
|
RAMUkaka
reads the following configuration from Environment Variables.
AWS Connectivity
ERRBOT_AWS_KEYPAIR_NAME # an AWS keypair
ERRBOT_AWS_DEFAULT_REGION # AWS region where RAMUkaka will work
ERRBOT_AWS_SECRET_KEY # AWS secret key
ERRBOT_AWS_ACCESS_KEY # AWS access key
ERRBOT_AWS_ACCOUNT_ID # account ID for AWS
Slack Connectivity
ERRBOT_SLACK_TOKEN # Slack Token
ramukaka
directory.pipenv
environment so cd
to this directory and run:pipenv install
The above command installs the dependencies mentioned in the Pipfile
. To load these dependencies you need to run:
pipenv shell
This creates a new shell process for you where you can start Errbot: just run errbot
.
errbot -T
.errbot
.Ctrl-D
or Ctrl-C
We use the following toolstack to implement RAMUkaka
.
Tool | Why? |
---|---|
Errbot | The Bot framework, based on Python |
spaCy | For NLP and ML implementation within RAMUkaka |
Apache libcloud | Python connectivity to any virtualization provider. |
py.test |
Test Cases for the bot. |
Errbot
config.py
template: https://github.com/errbotio/errbot/blob/master/errbot/config-template.pyApache libcloud