Repository of OpenClassrooms' AI Engineer path, project #9
Goal : use Azure Machine Learning and Azure Functions services, a Recommander system embedded in a React-Native mobile app to produce the MVP of a books recommandation mobile app.
You can see the results here :
This repository is part of a 3-repos project :
- Main repo : My Content : Books recommandation mobile app : this repo
- Azure Function
- Mobile App
- create a first Recommder System based on Content-Based Filtering
- improve the Recommder System with Collaborative Filtering
- improve the Recommder System with Hybrid Filtering
- create the React-Native mobile app
- integrate the Recommder System in Azure Functions
# python -m venv env
# > or just :
make venv
source env/bin/activate
# pip install kaggle jupyterlab ipykernel ipywidgets widgetsnbextension graphviz python-dotenv requests matplotlib seaborn plotly numpy statsmodels pandas sklearn transformers tensorflow
# > or :
# pip install -r requirements.txt
# > or just :
make install
- Set environment variable values in .env file (copy or rename .env.example).
The app will query an Azure CosmosDB database and an Azure Function that will return a list of relevant articles.
- Azure Cosmos DB input binding for Azure Functions 2.x and higher - HTTP trigger, look up ID from route data
- Quickstart: Create a function in Azure with Python using Visual Studio Code
Download, extract and upload to Azure Cityscape zip files.
make dataset
jupyter-lab notebooks/main.ipynb
# make isort
# make format
# make lint
# make bandit
# make mypy
# make test
# > or just :
make qa
- Fix Plotly issues with JupyterLab
jupyter labextension install jupyterlab-plotly
- If using Jupyter Notebook instead of JupyterLab, uncomment the following lines in the notebook
import plotly.io as pio
pio.renderers.default='notebook'