Artificial Intelligence as a Service
Origami is an AI-as-a-service that allows researchers to easily convert their deep learning models into an online service that is widely accessible to everyone without the need to setup the infrastructure, resolve the dependencies, and build a web service around the deep learning model. By lowering the barrier to entry to latest AI algorithms, we provide developers, researchers and students the ability to access any model using a simple REST API call.
The aim of this project is to create a framework that can help people create a web based demo out of their machine learning code and share it. Others can test the model without going into the implementation details. Usually testing models by other people involves a lot of preparation and setup. This project aims to cut that down.
Setting the environment variables
origami.envstores all the environment variables necessary to run Origami.
HOSTshould be set to the hostname of the server
PORTshould be set to the port you want the server to listen on. (Generally 80)
DB_NAMEwill be used to set the name for your postgres database
DB_PASSwill be used to set the password for the database user. This is also the admin password
DB_USERis the username for a user who can modify the database. This is also the admin username
DB_USER_EMAILstores the email for the admin
DB_HOSTshould be set to postgres in production and localhost in development
REDIS_HOSTshould be set to redis and localhost in development
To create the file,
cp origami.env.sample origami.env and edit the file with the above fields.
Origami/outCalls/config.jsstores config variables needed by the UI.
CLIENT_IPshould be set to the same value as
CLIENT_PORTshould be set to the same value as
DROPBOX_API_KEY, check step 3 of configuring Origami
Production setup instructions
Use docker to setup Origami on production
Running the server
You can run the server with the help of docker and docker-compose.
Development setup instructions
This application requires node v5+ and Python 2.7/3.4+
Create a Virtual Environment
pip install virtualenv
virtualenv venvvenv = Name of virtualenv
Note: Step 2 will create a folder named venv in your working directory
Getting the code and dependencies
Clone this repository
Navigate to the repo. Usually
Add all the python dependencies.
pip install -r requirements.txt
docker run -d -p 6379:6379 --name origami-redis redis:alpine
Setup the environment
Setting up the database
Create all the tables
python manage.py makemigrations python manage.py migrate
Create admin account
python manage.py initadmin
Start the server
- Start the server by
python manage.py runserver --noworker
- Start the worker by
python manage.py runworker
yarn run dev
- Go to localhost:8000 Visit Read the docs for further instructions on Getting started
Contributing to Origami
Make sure you run tests on your changes before you push the code using:
python manage.py test
yarn run test
Fix lint issues with the code using:
yarn run lint:fix
This software is licensed under GNU AGPLv3. Please see the included
License file. All external libraries, if modified, will be mentioned below explicitly.