Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
d9b0e14
First lab
Ale3e Mar 3, 2025
5587afd
add lab python and refactor solution
rndg Mar 3, 2025
bdd0107
refactor lab
rndg Mar 3, 2025
148eb65
refactor lab
rndg Mar 3, 2025
c41311e
refactor lab
rndg Mar 3, 2025
1fec616
refactor lab and repo
rndg Mar 6, 2025
458bf50
fix accordingly to review
rndg Mar 12, 2025
895da8b
fix MD lint
rndg Mar 12, 2025
2b83613
Change folder structure
Ale3e Mar 13, 2025
ebcae39
Update README.md
rndg Apr 4, 2025
c056e32
Update README.md
rndg Apr 4, 2025
69cee4f
first skeleton for part 2
rndg Apr 23, 2025
9f3b17b
working prefect and mlflow
rndg Apr 23, 2025
0fe51dc
rm of model pkl
rndg Apr 23, 2025
3e68c84
full working demo
rndg May 5, 2025
eb21bb0
fix readme
rndg May 5, 2025
8680516
fix tests and prepare readme
rndg May 6, 2025
3c0b717
fix readme lint
rndg May 6, 2025
a35ebc3
fix readme lint
rndg May 6, 2025
01ff67d
fix readme lint
rndg May 6, 2025
07b9153
fix readme lint
rndg May 6, 2025
3620939
add imgs of workflows
rndg May 8, 2025
0050d25
mv img of workflow
rndg May 8, 2025
adc6fe6
add notebooks
rndg Aug 4, 2025
6eb5741
add readme and contents
rndg Aug 4, 2025
8f81d65
fix readme
rndg Aug 4, 2025
fd10ec3
fix notebooks
rndg Aug 6, 2025
22c391b
fix notebooks
rndg Aug 7, 2025
a9608cb
update readme
rndg Aug 8, 2025
042e9fc
First lab
Ale3e Mar 3, 2025
2e73324
add lab python and refactor solution
rndg Mar 3, 2025
e25f42b
refactor lab
rndg Mar 3, 2025
953eb48
refactor lab
rndg Mar 3, 2025
e2af603
refactor lab
rndg Mar 3, 2025
0ae8b14
refactor lab and repo
rndg Mar 6, 2025
b62dad8
fix accordingly to review
rndg Mar 12, 2025
3e5be1e
fix MD lint
rndg Mar 12, 2025
034863a
Change folder structure
Ale3e Mar 13, 2025
49029aa
Update README.md
rndg Apr 4, 2025
e171841
Update README.md
rndg Apr 4, 2025
90d252f
first skeleton for part 2
rndg Apr 23, 2025
07f694b
working prefect and mlflow
rndg Apr 23, 2025
69dea0d
rm of model pkl
rndg Apr 23, 2025
3643faa
full working demo
rndg May 5, 2025
e6ce6e5
fix readme
rndg May 5, 2025
7fe413b
fix tests and prepare readme
rndg May 6, 2025
d316256
fix readme lint
rndg May 6, 2025
a460e25
fix readme lint
rndg May 6, 2025
c90f88f
fix readme lint
rndg May 6, 2025
8aae0da
fix readme lint
rndg May 6, 2025
edca92d
add imgs of workflows
rndg May 8, 2025
c15ff05
mv img of workflow
rndg May 8, 2025
f8679c6
add notebooks
rndg Aug 4, 2025
58b290c
add readme and contents
rndg Aug 4, 2025
1f8527b
fix readme
rndg Aug 4, 2025
8eafdec
fix notebooks
rndg Aug 6, 2025
6cee9a5
fix notebooks
rndg Aug 7, 2025
16f3d97
update readme
rndg Aug 8, 2025
8a6d543
[WAI] Restructure folder position
rascasoft Aug 11, 2025
ba2bbc3
Update README.md
rndg Aug 14, 2025
ca80ab2
Merge branch 'academy-ai' of https://github.com/kiratech/labs into ac…
rndg Aug 14, 2025
fce57cc
add chroma rag
rndg Aug 19, 2025
8f6435e
working agent
rndg Aug 20, 2025
7d2099c
full working lab
rndg Nov 3, 2025
062fd72
add bad policies
rndg Nov 3, 2025
c4ad583
add langsmith env example
rndg Nov 3, 2025
5197a7d
first readme draft
rndg Nov 3, 2025
6268852
complete docs
rndg Nov 3, 2025
5a4e46e
fix policies and readme
rndg Nov 5, 2025
70611d7
refactor readme
rndg Nov 5, 2025
41309d8
refactor readme
rndg Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Academy/AI/1-Intro-To-ML-And-MLOps/.DS_Store
Binary file not shown.
179 changes: 179 additions & 0 deletions Academy/AI/1-Intro-To-ML-And-MLOps/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
# local mlflow
mlartifacts/*
mlruns/*
dev/*

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc
108 changes: 108 additions & 0 deletions Academy/AI/1-Intro-To-ML-And-MLOps/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Lab: Basic ML Model with Weather Dataset + MLflow Integration

Welcome to this lab! Here you will learn how to:

1. **Load and prepare a weather dataset**, with temperature and humidity data.
2. **Train a Machine Learning model** using Scikit-learn, a powerful tool for Machine Learning in Python, to predict rain.
3. **Evaluate the model** computing metrics to determine how well it makes predictions on new data.
4. **Integrate MLflow**, one of the most used tool to track metrics, parameters, and model versions.

We will follow a guided approach with detailed explanations at each step.
The first part focuses on Scikit-learn and the weather dataset. The second part extends the existing code with MLflow.

---

## Part 0: Setting Up the Python Environment

Before we begin, we need to ensure we have everything required to run the lab properly.

### **Requirements**

This lab assumes that **Python** and **miniconda** are already installed, the repository [kiratech/labs](https://github.com/kiratech/labs.git) is accessible, and **Git** is properly configured on your local machine. Furthermore, **VSCode** or an IDE able to run Jupyter Notebooks, must be installed as well.
In order to execute this laboratory, you will be asked to install a set of tools common in Machine Learning field:

- [**scikit-learn**](https://scikit-learn.org/stable/index.html): Machine learning library with modeling and evaluation tools.
- [**pandas**](https://pandas.pydata.org/): Framework for data manipulation and analysis in Python.
- [**seaborn**](https://seaborn.pydata.org/): Data visualization library based on Matplotlib.
- [**mlflow**](https://mlflow.org/): Tool for tracking and managing machine learning experiments.

### 1. Clone the Repository

To start, clone the lab repository by running the following command in the terminal:

```sh
git clone https://github.com/kiratech/labs.git
```

### 2. Checkout the Lab Branch

After cloning the repository, navigate to the project folder:

```sh
cd labs
```

Then, checkout the `lab` branch:

```sh
git checkout academy-ai
```

This folder contains resources related to AI-themed labs.

### 3. Navigate to the 1-Intro-To-ML-And-MLOps Folder

Go to the folder of the first lab:

```sh
cd Academy/AI/1-Intro-To-ML-And-MLOps
```

### 4. Create a Virtual Environment

A virtual environment allows you to isolate the project's dependencies from the system-wide ones.

Using the **VSCode** terminal, create a virtual environment:

```sh
conda create --name lab_env python=3.12 pip -y
```

Activate the Virtual Environment:

```sh
conda activate lab_env
```

You should see the `(lab_env)` prefix in the terminal, indicating that the virtual environment is active.

### 5. Install Required Packages

Besides the default packages in the environment, additional libraries may be needed for the lab.
Before installing them, it's always a good practice to update `pip` to avoid compatibility issues:

```sh
pip install --upgrade pip
```

Now, install some essential packages for data analysis and machine learning:

```sh
pip install scikit-learn pandas seaborn mlflow ipykernel
```

Verify that the packages were installed correctly with:

```sh
conda list
```

At this point, you can proceed with the `lab.ipynb` file.

### 6. Open the Project in VSCode

At this point, open VSCode from the file explorer or by running the command:

```sh
code .
```
Loading
Loading