Gwynny / ranking-service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ranking

The purpose of this project is to do a reproducible pipeline with a ranking similar questions based on quora dataset. To make it reproducible and readable I want to use such technologies/libraries in my project:

  • Reproducibility:
  1. Poetry — to keep track of dependencies and make it library
  2. Docker + FastAPI — to make a microservice with an isolated environment
  3. mlflow - for keep track of experimentation
  • Readability:
  1. Cookiecutter’s DS project template — for easier navigation
  2. I want to do docstrings and explicitly write data types with Typing
  3. Use linters like flake8 or black for codestyle
  • CI/CD, tracking etc
  1. logging - for service tracking
  2. Do commits aligned with conventional commits

Stack

Project Organization

├── LICENSE
├── Makefile           <- Makefile with commands like `make data` or `make train`
├── README.md          <- The top-level README for developers using this project.
├── data
│   ├── external       <- Data from third party sources.
│   ├── interim        <- Intermediate data that has been transformed.
│   ├── processed      <- The final, canonical data sets for modeling.
│   └── raw            <- The original, immutable data dump.
│
├── docs               <- A default Sphinx project; see sphinx-doc.org for details
│
├── models             <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks          <- Jupyter notebooks. Naming convention is a number (for ordering),
│                         the creator's initials, and a short `-` delimited description, e.g.
│                         `1.0-jqp-initial-data-exploration`.
│
├── src                <- Source code for use in this project.
│   ├── __init__.py    <- Makes src a Python module
│   │
│   ├── data           <- Scripts to download or generate data
│   │   └── make_dataset.py
│   │
│   ├── features       <- Scripts to turn raw data into features for modeling
│   │   └── build_features.py
│   │
│   ├── models         <- Scripts to train models and then use trained models to make
│   │   │                 predictions
│   │   ├── predict_model.py
│   │   └── train_model.py
│
└── .ignore files      <- To hide unnecessery data from push and build actions
│
└── poetry.lock        <- Poetry-related and env-related files
└── pyproject.toml
│
└── Dockerfile         <- Dockerfile for building images

Project based on the cookiecutter data science project template. #cookiecutterdatascience

About

License:MIT License


Languages

Language:Jupyter Notebook 75.3%Language:Python 24.3%Language:Dockerfile 0.4%