Ramakm/AI-Engineering

A group of notebooks and other files which can help you learn AI from scratch.

AI Engineering: Hands‑on – What the repo offers

TL;DR

A self‑paced, notebook‑driven curriculum that walks you from the math behind machine learning to building real‑world AI services (RAG, OCR, API‑served models). Everything is in Jupyter notebooks or small Python projects, with a clear folder layout and a suggested learning path.


Who it’s for

  • Beginners who need a structured path from calculus to deep‑learning.
  • Engineers looking to fill gaps in LLM‑centric skills (RAG pipelines, fine‑tuning, deployment).
  • Anyone who prefers hands‑on code over theory‑only tutorials.

What you’ll actually get

Section Core content Typical output you can run
1. Math Fundamentals Derivatives, vectors, gradients, probability. Notebook‑based calculations that feed directly into later PyTorch code.
2. PyTorch Basics Tensor creation, reshaping, indexing, basic ops. Small scripts that manipulate tensors – the building blocks for any model.
3. Neural‑Network (NN) Implement a single neuron, stack layers, back‑propagation notes. A minimal feed‑forward network built from scratch (no library magic).
4. Transformers Attention, multi‑head attention, decoder‑only architecture. Notebook that assembles a tiny transformer and runs a forward pass.
5. Retrieval‑Augmented Generation (RAG) End‑to‑end pipeline: chunk docs, embed with a model, store in FAISS, retrieve, generate answers via configurable LLM providers (Atlas Cloud, MiniMax, OpenAI, compatible APIs). A runnable app.py that answers cybersecurity queries using the supplied FAISS index.
6. OCR Image preprocessing + text extraction (pytesseract + Gemini). A small FastAPI/Render‑ready service (main.py) that returns extracted text from uploaded images.
LLM fundamentals Tokens, embeddings, tokenisation theory. Notebook explanations that complement the RAG section.
Fine‑tuning LoRA, QLoRA, Unsloth notebooks. Scripts showing how to adapt a base LLM on a tiny JSON‑extraction dataset.
Basic ML models Linear, ridge, logistic regression, decision trees, SVM, clustering. Classic scikit‑learn notebooks for quick experimentation.
DL production projects ANN/CNN, RNN/LSTM, GRU examples served via FastAPI or Streamlit, Dockerised. Fully‑functional APIs you can start with python train.py then uvicorn app.main:app.
Data‑analysis & utilities E‑commerce dataset exploration, YouTube transcript server, interview‑prep checklist, book list. Extra resources for practice and context.

How to get started

  1. Clone & install the top‑level requirements.txt.
  2. Launch Jupyter (jupyter lab or jupyter notebook).
  3. Follow the learning path in Start_here/learning_path.md – run the notebooks in the order 1 → 2 → 3 → 4.
  4. When you reach a project folder (RAG, OCR, DL), read its local README.md and install its extra requirements before running the provided app.py or train.py.

Notable strengths

  • End‑to‑end coverage – from theory to a deployed service, all in one repo.
  • Modular layout – you can cherry‑pick sections (e.g., only the RAG pipeline) without wading through unrelated code.
  • Real‑world examples – the RAG use‑case (cyber‑security docs) and OCR service are ready‑to‑run demos.
  • Production‑style code – FastAPI/Streamlit wrappers, Dockerfiles, and tests give a taste of how models move from notebook to service.

Possible drawbacks

  • The repo is large; downloading everything may be overkill if you only need a single topic.
  • Some notebooks assume familiarity with basic Python/NumPy; absolute beginners might need a quick refresher.
  • The “Muon” optimizer listed under NN is not a standard PyTorch optimizer – it may be a typo or a custom implementation that isn’t documented elsewhere.

Who maintains it?

The author Ramakm (GitHub handle) promotes the project on X and Instagram. The repo is MIT‑licensed and welcomes contributions, with clear guidelines for notebook cleanliness and PR style.


Bottom line

If you want a single, cohesive curriculum that takes you from math fundamentals all the way to building and serving LLM‑augmented applications, this repository delivers exactly that, with runnable code and clear documentation.


Quick start command (after cloning):

pip install -r requirements.txt   # base deps
jupyter lab                      # open the notebooks

Then follow the Start_here/learning_path.md guide.

Related

  • Project
  • Project
  • Project
  • Project