Robby

Probabilities as a Service

https://img.shields.io/travis/smn/robby.svg https://img.shields.io/pypi/v/robby.svg Code Coverage Robby Documentation

Available as a docker container with docker pull sdehaan/robby. The docker container allow the for the following environment variables:

  • REDIS_HOST, defaults to 127.0.0.1
  • REDIS_PORT, defaults to 6379
  • REDIS_DB, defaults to 1
  • ROBBY_PORT, defaults to 8080
  • ROBBY_PREFIX, the prefix for Redis keys, defaults to robby
  • ROBBY_STEMMING_LANGUAGE, defaults to english
  • ROBBY_TOKENIZER, the python callable to use for tokenizing. Defaults to robby.utils.english_tokenizer, robby.utils.dumb_tokenizer is also available.

Or pip install robby and run directly:

robby \
    --redis-uri redis://127.0.0.1:6379/1 \
    --interface 0.0.0.0 \
    --port 8080 \
    --prefix robby \
    --stemming \
    --stemming-language=english \
    --tokenizer=robby.utils.english_tokenizer \
    --debug

API

To train it:

$ curl -d 'training sample' http://localhost:8080/train/bucket-name/category

To untrain it:

$ curl -d 'training sample' http://localhost:8080/untrain/bucket-name/category

To train it in batches:

$ curl -d '[{"category": "category", "content": "training sample"}]' http://localhost:8080/batch/train/bucket-name

To classify:

$ curl -d 'sample message' http://localhost:8080/classify/bucket-name
{
    "category": "category"
}

To get scoring:

$ curl -d 'sample message' http://localhost:8080/score/bucket-name
{
    "category": 0.01
}

To get clear the db:

$ curl -X DELETE http://localhost:8080/flush/bucket-name