AI Engineering Core
Master large language models, prompt engineering, RAG pipelines, orchestration frameworks, agents, fine-tuning, and guardrails.
Notes
Introduction to Large Language Models (LLMs) & Prompt Engineering
Learn LLM architecture concepts, attention mechanisms, tokenizers, and advanced prompt engineering strategies.
Retrieval-Augmented Generation (RAG): Core Architecture
Master the architectural RAG pipeline: document chunking, embedding, vector storage, context injection, and generation.
Vector Databases and Similarity Search Algorithms
Learn similarity search metrics and vector database indexing algorithms like HNSW and IVF.
LangChain & LlamaIndex: Orchestration Frameworks
Compare LangChain and LlamaIndex orchestration libraries with clear Python code examples.
Agentic Workflows and AI Agents
Learn the principles of autonomous AI Agents, the ReAct framework, and LLM tool calling loops.
LLM Fine-Tuning: LoRA, QLoRA, and PEFT
Master parameter-efficient fine-tuning strategies: LoRA adapter weights, QLoRA quantization, and PEFT principles.
RAG Evaluation: Ragas Framework and Metrics
Learn the RAG Triad evaluation metrics and how to use the Ragas framework for automated testing.
LLM Security: Prompt Injection and Guardrails
Learn prompt injection attacks, LLM vulnerabilities, and how to configure input-output guardrails.
What is Artificial Intelligence?
Artificial Intelligence (AI) is the subfield of computer science dedicated to building systems capable of performing tasks that typically require human cognitiv...
Narrow AI vs AGI
* **Narrow AI (Weak AI)**: Artificial intelligence systems designed, trained, and optimized to execute a single, specific task (e.g., translate text, classify c...
Machine Learning vs Deep Learning vs Generative AI
* **Machine Learning (ML)**: A subset of AI focused on algorithms that learn patterns from structured numerical or tabular data to make predictions, without bei...
AI Engineer vs ML Engineer vs Data Scientist
* **Data Scientist**: Analyzes historic datasets to extract business insights, build dashboards, design experiments (A/B testing), and build predictive statisti...
Current AI Industry Landscape
The AI Industry Landscape refers to the ecosystem of model providers (Close-sourced vs. Open-source), compute platforms, developer tools (orchestration framewor...
AI Product Architecture Overview
AI Product Architecture describes the blueprint of microservices, databases, caching layers, and external model integrations required to run interactive, low-la...
Python Fundamentals
Python is an interpreted, high-level, dynamically typed language that supports object-oriented, functional, and procedural programming paradigms. In AI Engineer...
Data Structures
Data structures are formats for organizing, managing, and storing data. Python’s primary built-in data structures are: * **List**: Mutable, ordered sequence of ...
Functions
Functions are reusable, self-contained blocks of code that execute a specific action. Python supports: * Positional & Keyword arguments (`*args`, `**kwargs`). *...
Object-Oriented Programming (OOP)
OOP is a paradigm based on "objects" which contain data (attributes) and code (methods). The four core principles are: 1. **Encapsulation**: Hiding internal sta...
Dataclasses
Introduced in Python 3.7, the `@dataclass` decorator automates the generation of boilerplates (such as `__init__()`, `__repr__()`, and comparisons) for classes ...
Exception Handling
Exception handling is the mechanism of responding to anomalies (exceptions) during execution. In Python, it is done via `try`, `except`, `else`, `finally`, and ...
Asynchronous Programming
Asynchronous programming is a concurrency model that allows a single thread to run multiple tasks concurrently by releasing control to the event loop when waiti...
JSON Processing
JSON (JavaScript Object Notation) is a lightweight data-interchange format. In Python, JSON operations are managed via the built-in `json` module (using functio...
API Requests
API requests are network calls made to external web endpoints to exchange data. In modern Python development, we use packages like `requests` for synchronous ca...
REST APIs
REST (Representational State Transfer) is an architectural style for designing networked applications. It utilizes a stateless client-server model where web res...
HTTP Methods
HTTP methods (also called verbs) indicate the desired action to be performed on a given resource. The core methods are: * **GET**: Retrieve resource representat...
Status Codes
HTTP response status codes indicate whether a specific HTTP request has been successfully completed. They are grouped into five classes: * **1xx**: Informationa...
JSON
JSON (JavaScript Object Notation) is a text-based, language-independent data-interchange format. It consists of two structural collections: * Key-value pairs (m...
Authentication
Authentication verifies the identity of a client attempting to access a service. Common patterns are: * **API Keys**: Simple strings sent in request headers. * ...
FastAPI Basics
FastAPI is a high-performance, asynchronous web framework for building APIs in Python. It relies on standard Python type hints and is built on top of Starlette ...
What is an LLM?
A Large Language Model (LLM) is a deep learning model trained on vast amounts of text data to predict the next word in a sequence. Modern LLMs are based on the ...
Tokens
Tokens are the basic building blocks processed by an LLM. Before text is fed to a model, a **tokenizer** splits the string into numerical IDs representing sub-w...
Context Window
The context window is the maximum number of tokens an LLM can process in a single execution step. This limit includes both the input prompt tokens and the gener...
Temperature & Top-P
* **Temperature**: A hyperparameter that scales the logits (raw probability scores) output by the model, controlling the randomness of the generation. * **Top-P...
Prompt Engineering
Prompt Engineering is the practice of designing and optimizing input instructions to guide LLMs to produce accurate, high-quality, and structurally consistent r...
Structured Outputs
Structured Outputs refers to techniques that force an LLM to return data in a specific, machine-readable format (like valid JSON conforming to a JSON Schema) in...
Practical Lab Assignments
20 hands-on programming challenges designed to test Python, FastAPI, and LLM orchestration skills.
Mini Project: Build an AI Chat Assistant
Step-by-step tutorial building a production-grade FastAPI assistant integrated with the Gemini API.
Interview Prep & Revision Guide
50 essential interview questions with detailed answers, revision notes, and quick cheat sheets.