A curated, hands-on library of notebooks, demos, and resources for AI/ML, Deep Learning, Generative AI, RAG, agents, fine-tuning, and modern tooling.
A Python package providing standard non-convex benchmark functions for testing and benchmarking optimization algorithms.
pip install nonconvexoptimzationfunclibIf you're new, start with the path that matches your goal:
- New to AI/ML (Foundations)
- Start with Tokens & Embeddings β Fine-tuning basics β LLMs/AI-Agents Basics β Best Practices β Small demos
- π€ GenAI / RAG learner
- Go to RAG Systems table β Multimodal/Graph RAG β Agents β Observability
- π οΈ Want handson notebooks
- Go to LangChain + LlamaIndex + RAG Systems tables
- π― Interview prep
- Go to Interview Experiences
- π Need tools / courses / blogs
- Go to External Resources
- Mission & Scope
- Foundations (AI/ML Core)
- LangChain (All Notebooks)
- LlamaIndex (All Notebooks)
- RAG Systems (All Variants)
- Agents & Orchestration
- Graph & Multimodal
- MCP (Model Context Protocol)
- Observability
- Interview Experiences
- External Resources
- Utils
- Repository Rules
- Contributing & Support
- License & Citation
This repository is a living library of practical AI/ML and Generative AI knowledge.
The focus is on learning by doing β notebooks and guides are reproducible, intuitive, and easy to extend.
Youβll find content across:
- Classical ML & Deep Learning fundamentals
- LLMs, embeddings, fine-tuning
- RAG systems (naive β hybrid β graph β multimodal)
- Agentic AI patterns and orchestration
- Production evaluation and observability
| Notebook | What youβll learn | Level |
|---|---|---|
| Tokens in GenAI | Tokenization intuition + cost/latency impact | Beginner |
| ML Word Embeddings | Word2Vec/GloVe/CBOW intuition | Beginner |
| Simple LoRA Fine-Tuning | PEFT/LoRA fine-tuning end-to-end | All Levels |
| Best Practices for Building AI Agents (Framework-Agnostic) | Best Practices | All Levels |
Everything that uses LangChain / LangGraph / LCEL lives here.
| Notebook | What it does | Level | Tags |
|---|---|---|---|
| LangChain Prompt Chains | Prompt chaining + LCEL patterns | All Levels | #prompting #lcel |
| Plan & Execute (LangGraph) | Multi-step planning + execution | All Levels | #langgraph #agents |
| Reflexion Pattern | Self-critique agent loops | All Levels | #agents #reasoning |
| LangGraph Agents | Tool-calling agents with graphs | All Levels | #langgraph #tools |
Everything that uses LlamaIndex lives here.
| Notebook | What it does | Level | Tags |
|---|---|---|---|
| Text-to-SQL w/ LlamaIndex | Natural language β SQL over DB | All Levels | text2sql, llamaindex |
| LlamaExtract (LlamaIndex) | Structured extraction from invoices using LlamaIndex | All Levels | llamaindex, extraction |
All Retrieval-Augmented Generation notebooks, grouped by type.
| Notebook | RAG Type | What it does | Level |
|---|---|---|---|
| Hybrid Search RAG | Hybrid RAG | BM25 + vectors + reranking | All Levels |
| Semantic Search (Pinecone) | Vector RAG | Simple embedding retrieval | All Levels |
| GraphRAG | Graph RAG | Graph retrieval + LLM answering | Advanced |
| Multimodal RAG: Text + Images | Multimodal RAG | Retrieve across text & images | All Levels |
| Notebook / Resource | What it does | Level |
|---|---|---|
| LLM Query Router | Route queries to best chain/tool | All Levels |
| PydanticAI Agents And Tools | Typed agents + strict tool schemas | All Levels |
| PydanticAI Agentic Lib | Agentic patterns using PydanticAI | All Levels |
| Crew AI Agents | Multi-agent teams + roles | All Levels |
| Agentic Webcrawler Chatbot | Crawl web + answer with agents | All Levels |
| Notebook | What it does | Level |
|---|---|---|
| GraphMyDoc | Build doc knowledge graphs | All Levels |
| GraphNavAI | Navigate knowledge as graph | All Levels |
| Demo | What it does | Level |
|---|---|---|
| MCP Server Demo | MCP server-client tooling end-to-end | All Levels |
| Notebook | What it does | Level |
|---|---|---|
| LlamaTrace β Observability | Tracing, evals, monitoring with Phoenix | All Levels |
| ARIZE β Observability | AI-AGENT Tracing, evals, monitoring with ARIZE | All Levels |
| Doc | Focus Area |
|---|---|
| LLM Architecture Comparison | Evolution of LLM architectures (2017β2025) |
| Interview Q&A | Common AI/ML/LLM interview questions |
| Contextual & GPT Embeddings | Embedding types + intuition |
| AI Agent Memory Types | Memory patterns for agents |
| Stanford LLM Cheatsheet | Compact transformer/LLM summary |
| π§ Provider | π Resource | π Focus Area |
|---|---|---|
| OpenSource Book: Agentic Design Patterns | Agentic Design Patterns | Hands-on agentic systems |
| LangChain | Chat LangChain | Chat with LangChain docs |
| LangChain for LLM App Dev | Prompting, chains, memory | |
| Functions, Tools & Agents | Tool calling, agents | |
| LangGraph Intro Course | Agentic execution | |
| LangChain Tutorials | End-to-end apps | |
| LlamaIndex | Chat LlamaIndex | Chat with LlamaIndex docs |
| Advanced RAG Certification | Production RAG | |
| Agentic RAG Course | Agentic RAG | |
| LlamaIndex Docs | Indexing & ingestion | |
| Hugging Face | LLM Course | Transformers & tokenizers |
| AI Agents Course | Agent architectures | |
| Diffusion Models Course | Image diffusion | |
| Open Source Models | Discovery & eval | |
| Microsoft | Generative AI for Beginners | GenAI foundations |
| AI for Beginners | Classical AI/ML | |
| AI Agents for Beginners | Agent systems | |
| AWS | Intro to GenAI | Enterprise GenAI |
| Prompt Engineering Essentials | Prompting | |
| Responsible AI | Governance | |
| AWS PartyRock | No-code GenAI apps | |
| Meta (LLaMA) | Building with Llama 4 | Llama models |
- Deep Dive into LLMs β Andrej Karpathy
- Deep Dive into LLMs like ChatGPT
- Software Is Changing (Again)
- Making AI accessible
- What is Agentic AI?
- Discover AI β Code4AI
- The AI GRID
- Krish Naik
- AI by Hand β Dr. Tom Yeh
- LLM Watch β Pascal Biese
- LangChain Blog
- LlamaIndex Blog
- MLOps Architect Mindset
- ByteByteGo Newsletter
Contributions are welcome!
If you spot an error, want a new notebook, or have an improvement idea:
- Read the Contributing Guide
- Open a PR / issue with a clear description
Security issues should be reported privately (see SECURITY.md).
This project is licensed under the MIT License β see the LICENSE file for details.
These notebooks reflect personal learnings and experiments.
Mistakes are part of the journey β use this repo as a starting point and adapt freely.
If this helps you, consider giving it a β on GitHub β it helps others find it too.
