-
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.
This app is presently under active development and we welcome contributions. Please check out our issues thread to find things to work on, or ping us on Gitter.
origami.env
stores all the environment variables necessary to run Origami.
HOST
should be set to the hostname of the serverPORT
should be set to the port you want the server to listen on. (Generally 80)DB_NAME
will be used to set the name for your postgres databaseDB_PASS
will be used to set the password for the database user. This is also the admin passwordDB_USER
is the username for a user who can modify the database. This is also the admin usernameDB_USER_EMAIL
stores the email for the adminDB_HOST
should be set to postgres in production and localhost in developmentREDIS_HOST
should 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.js
stores config variables needed by the UI.
CLIENT_IP
should be set to the same value asHOST
inorigami.env
CLIENT_PORT
should be set to the same value asPORT
inorigami.env
- For
DROPBOX_API_KEY
, check step 3 of configuring Origami
Use docker to setup Origami on production
You can run the server with the help of docker and docker-compose.
Run docker-compose up
This application requires node v5+ and Python 2.7/3.4+
pip install virtualenv
virtualenv venv
venv = Name of virtualenvsource venv/bin/activate
Note: Step 2 will create a folder named venv in your working directory
-
Clone this repository
-
Navigate to the repo. Usually
cd Origami/
-
Add all the python dependencies.
pip install -r requirements.txt
-
Add all the javascript dependencies
yarn
(preferably) ornpm install
-
Setup redis
docker run -d -p 6379:6379 --name origami-redis redis:alpine
-
Setup the environment
source origami.env
python manage.py makemigrations
python manage.py migrate
python manage.py initadmin
- 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
-
Make sure your 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.