Skip to content

DetectiveSanket/AI-Engineering-Practice-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 AI Engineering Practice Projects

A hands-on journey from AI theory to production-ready systems

Status Projects Stack Book


"30% theory, 70% practice. Every project here is a concept I actually understand β€” built from scratch, no shortcuts."


Sanket Talekar β€” Final Year B.Tech CSE @ D.Y. Patil College of Engineering & Technology, Kolhapur
AI Automation Engineer & Full Stack Developer (AI Focus)

LinkedIn Β· Portfolio


πŸ“– About This Repository

This repo is my structured, self-driven AI Engineering practice ground. After completing the full AI Engineering 2025 book by Akshay Pachaar & Avi Chawla (DailyDoseofDS), I shifted from theory-first to practice-first learning.

Every project here is:

  • Standalone β€” independent codebase, independent domain, no copy-paste between projects
  • Progressive β€” each project introduces new concepts while building on previous ones
  • From scratch β€” no LangChain abstractions until I understand what's being abstracted
  • Job-signal focused β€” built to demonstrate real AI engineering skills to product-first companies

πŸ—ΊοΈ Full Roadmap

# Project Concepts Covered Stack Status
01 AI Study Buddy LLM params, generation strategies, prompt engineering, JSON output, CoT, session memory Node.js 🟒 Complete
02 Study Buddy v2 β€” Stateful Tutor Multi-turn memory, G-eval, LLM-as-judge, self-evaluation loop, component evals Node.js 🟒 Complete
03 News Research Agent ReAct pattern, tool use, agent loop, agentic memory, context engineering Node.js 🟑 In Progress
04 Research Agent + Knowledge Base RAG from scratch, chunking strategies, ChromaDB, HyDE, Agentic RAG Node.js + Python βšͺ Planned
05 MCP Server + Observability MCP architecture, MCP tools/resources, LLM tracing, Opik, multi-turn evals Python βšͺ Planned
06 AI Code Review System Multi-agent orchestration, A2A protocol, red teaming, FastAPI deployment Python βšͺ Planned
07 LoRA Fine-tuning Experiment LoRA, IFT dataset generation, SFT, FT vs RAG vs prompting comparison Python βšͺ Planned

Legend: 🟒 Complete Β· 🟑 In Progress Β· πŸ”΄ Blocked Β· βšͺ Planned


πŸ“ Repository Structure

ai-engineering-practice/
β”‚
β”œβ”€β”€ README.md                        ← You are here
β”œβ”€β”€ .gitignore                       ← Covers all projects (node_modules, .env, logs)
β”‚
β”œβ”€β”€ 01 Study Buddy/                  ← Node.js Β· LLM fundamentals
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ .env.example
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ index.js
β”‚   └── src/
β”‚       β”œβ”€β”€ geminiClient.js
β”‚       β”œβ”€β”€ promptBuilder.js
β”‚       β”œβ”€β”€ explain.js
β”‚       β”œβ”€β”€ quiz.js
β”‚       β”œβ”€β”€ params.js
β”‚       β”œβ”€β”€ strategies.js
β”‚       β”œβ”€β”€ memory.js
β”‚       └── logger.js
β”‚
β”œβ”€β”€ 02 Study Buddy v2/               ← Node.js Β· Evaluation & memory
β”œβ”€β”€ 03 News Research Agent/          ← Node.js Β· Agents from scratch
β”œβ”€β”€ 04 Agent + Knowledge Base/       ← Node.js + Python Β· RAG pipeline
β”œβ”€β”€ 05 MCP Server/                   ← Python Β· MCP + Observability
β”œβ”€β”€ 06 Code Review Agents/           ← Python Β· Multi-agent systems
└── 07 LoRA Finetuning/              ← Python Β· Fine-tuning experiments

πŸ”¬ Project Details


πŸ“¦ Project 01 β€” AI Study Buddy

The foundation. Direct LLM interaction β€” no frameworks, no abstractions.

Domain: Education / CLI tool
Language: Node.js (JavaScript)
Duration: 2 weeks
Status: 🟒 Complete

What it does

A command-line tool where you type any technical topic and the system generates an explanation, an interactive quiz, and comparative outputs across different generation strategies. Every API call is written by hand β€” no wrapper libraries hiding what's happening.

CLI Commands

Command What it does
explain <topic> Plain-text explanation with LLM
quiz <topic> JSON-structured interactive quiz
compare <topic> Same prompt, 3 different temperature configs
strategies <topic> Greedy vs sampling vs CoT comparison
history Show topics asked this session
exit Save session log and quit

Concepts Learned

  • temperature, top_p, max_tokens β€” what they actually do to output
  • Greedy decoding vs nucleus sampling vs beam search
  • Zero-shot, few-shot, chain-of-thought prompting
  • Forcing JSON output and parsing it reliably
  • Verbalized sampling technique
  • In-memory session state (no database)
  • LLM self-evaluation as a first eval loop

Key Files

File Responsibility
geminiClient.js All Gemini API calls β€” single source of truth
promptBuilder.js Prompt templates β€” explain, quiz, CoT
strategies.js Generation strategy comparison via Promise.all()
quiz.js JSON output forcing + safe parsing with retry
memory.js In-memory session store (plain JS object)
logger.js Writes session-[timestamp].json on exit

Book Chapters β†’ Practice

Book Chapter Implemented In
7 LLM Generation Parameters params.js, geminiClient.js
4 LLM Text Generation Strategies strategies.js
What is Prompt Engineering promptBuilder.js
3 Prompting Techniques for Reasoning strategies.js (CoT)
JSON Prompting for LLMs quiz.js
Verbalized Sampling Day 8 experiment

πŸ“¦ Project 02 β€” Study Buddy v2 β€” Stateful Tutor

Same project, upgraded. Evaluation and persistent memory layer added.

Domain: Education / CLI tool
Language: Node.js (JavaScript)
Duration: 1 week
Status: 🟒 Complete

What it adds over Project 01

  • Full multi-turn conversation history passed to every API call
  • G-eval style self-scoring: after every explanation, the LLM grades itself on accuracy, clarity, and completeness (1–5 each), returning structured JSON
  • Auto-regeneration: if any score is below 3, retry with chain-of-thought prompt
  • Running score average displayed in terminal
  • Session data includes scores alongside responses in session.json

Concepts Learned

  • Multi-turn conversation management
  • G-eval evaluation framework
  • LLM-as-judge pattern
  • Component-level evaluation
  • Iterative self-improvement loop

πŸ“¦ Project 03 β€” News Research Agent

First real agent. ReAct loop built entirely by hand β€” no LangChain.

Domain: News research / automated reporting
Language: Node.js (JavaScript)
Duration: 3 weeks
Status: 🟑 In Progress

What it does

Takes a research question. Autonomously decides which tools to call. Reasons step-by-step using the ReAct pattern (Thought β†’ Action β†’ Observation β†’ repeat). Produces a structured JSON report with sources.

Tools the agent can use

  • web_search(query) β€” searches for current information
  • summarize_text(text) β€” condenses long content
  • check_claim(claim) β€” verifies a statement against search results

Concepts Learned

  • ReAct agent loop implemented from scratch
  • Tool definition and tool-call parsing
  • Agent working memory (scratchpad)
  • Context window management (trimming old observations)
  • Agentic design patterns

πŸ“¦ Project 04 β€” Research Agent + Knowledge Base

RAG pipeline from scratch. The agent gets a long-term memory.

Domain: Personal knowledge base + research
Language: Node.js + Python
Duration: 3 weeks
Status: βšͺ Planned

What it adds over Project 03

  • 4th tool added: knowledge_base_search(query) β€” searches a local vector store
  • Chunking pipeline: fixed-size, sentence-based, and semantic chunking β€” compared
  • Embeddings via Gemini embedding-001
  • Local vector store: ChromaDB
  • HyDE (Hypothetical Document Embeddings): generate a hypothetical answer, embed it, then retrieve β€” compared against direct query retrieval

Concepts Learned

  • RAG architecture from scratch
  • 5 chunking strategies and their tradeoffs
  • Vector databases (ChromaDB locally)
  • HyDE vs standard retrieval
  • Agentic RAG vs traditional RAG
  • When to use RAG vs prompting vs fine-tuning

πŸ“¦ Project 05 β€” MCP Server + Observability

Expose the agent as a service. Add full tracing so every call is visible.

Domain: Developer tooling
Language: Python
Duration: 2 weeks
Status: βšͺ Planned

What it does

Wraps the Research Agent from Project 04 as an MCP (Model Context Protocol) server. Any MCP-compatible client (Claude Desktop, etc.) can call it. Every LLM call, tool call, and retrieval step is traced and logged using Opik.

MCP Tools Exposed

  • research(question) β€” runs the full agent
  • add_to_kb(pdf_path) β€” ingests a document into the knowledge base
  • get_report(topic) β€” returns a cached report

Concepts Learned

  • MCP architecture (host, client, server)
  • MCP primitives: tools, resources, prompts
  • LLM observability vs evaluation
  • Trace instrumentation with Opik
  • Latency, cost, and quality metrics per call

πŸ“¦ Project 06 β€” AI Code Review System

Multi-agent. An orchestrator spawns specialist sub-agents in parallel.

Domain: Developer tooling / code quality
Language: Python
Duration: 4 weeks
Status: βšͺ Planned

Architecture

GitHub PR diff
      ↓
 Orchestrator Agent
  β”œβ”€β”€ Agent 1: Logic reviewer    β†’ finds bugs
  β”œβ”€β”€ Agent 2: Security reviewer β†’ finds vulnerabilities  
  └── Agent 3: Style reviewer    β†’ checks naming, complexity
      ↓
 Synthesized final review (JSON + Markdown)
      ↓
 FastAPI endpoint

Concepts Learned

  • Multi-agent orchestration pattern
  • Agent-to-Agent (A2A) communication protocol
  • 7 patterns in multi-agent systems
  • Red teaming LLM apps
  • FastAPI deployment of agent systems
  • 5 levels of agentic AI systems

πŸ“¦ Project 07 β€” LoRA Fine-tuning Experiment

Fine-tuning last, not first. Because now I have an evaluator to measure if it actually helps.

Domain: Code review (same as Project 06 β€” for direct comparison)
Language: Python
Duration: 4 weeks
Status: βšͺ Planned

What it does

Fine-tunes Phi-3-mini using LoRA on a dataset of (code, review) pairs. Runs the same evaluation harness from Projects 02 and 06 on: base model vs fine-tuned model. Documents where fine-tuning wins, where RAG wins, where prompting wins.

Concepts Learned

  • LoRA (Low-Rank Adaptation) from scratch understanding
  • IFT (Instruction Fine-Tuning) dataset generation
  • SFT vs RFT
  • Full fine-tuning vs LoRA vs RAG β€” practical comparison
  • Hugging Face transformers + peft

πŸ› οΈ Tech Stack Overview

Layer Projects 01–03 Projects 04–07
Language Node.js (JS) Python
LLM Gemini 1.5 Flash (free tier) Gemini 1.5 Flash (free tier)
Vector DB β€” ChromaDB (local)
Agent Framework None β€” from scratch None β€” from scratch
Observability β€” Opik
Serving β€” FastAPI
Fine-tuning β€” HuggingFace + PEFT

πŸ“Š Learning Progress

Concept Area Theory Practice Project
LLM fundamentals & generation βœ… 🟑 01
Prompt engineering βœ… 🟑 01
LLM evaluation βœ… βšͺ 02
AI Agents (ReAct) βœ… βšͺ 03
Context engineering βœ… βšͺ 03
RAG pipeline βœ… βšͺ 04
MCP protocol βœ… βšͺ 05
LLM observability βœ… βšͺ 05
Multi-agent systems βœ… βšͺ 06
Fine-tuning (LoRA) βœ… βšͺ 07

πŸ”‘ Setup & Usage

Each project is self-contained. Navigate into any project folder and follow its own README.md.

General pattern for JS projects (01–03):

cd "01 Study Buddy"
npm install
cp .env.example .env
# Add your GEMINI_API_KEY to .env
node index.js

General pattern for Python projects (04–07):

cd "04 Agent + Knowledge Base"
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# Add your GEMINI_API_KEY to .env
python main.py

⚠️ Never commit your .env file. Always use .env.example to share required variable names.


πŸ“š Reference

Book: AI Engineering 2025 Edition β€” Akshay Pachaar & Avi Chawla (DailyDoseofDS.com)

Topics covered in the book (all studied before starting this practice): LLMs Β· Prompt Engineering Β· Fine-tuning Β· RAG Β· Context Engineering Β· AI Agents Β· MCP Β· LLM Optimization Β· LLM Evaluation Β· LLM Deployment Β· LLM Observability


πŸ“¬ Connect

If you're a recruiter, hiring manager, or fellow builder β€” feel free to reach out.

Sanket Talekar
B.Tech CSE Β· D.Y. Patil College of Engineering & Technology, Kolhapur
Graduating: June 2026 Β· CGPA: 8.32 Experience: Junior Software Developer at 'The Business Legacy' -- Pune , Maharashtra (Jan 2026 - Present)
Targeting: AI Automation Engineer Β· Full Stack Developer (AI Focus)

Β· LinkedIn Β· Email Β· Portfolio Β· GitHub


Built with curiosity. Every line written to understand, not just to ship.

About

πŸ€– Building AI agents from scratch β€” 8-day hands-on journey through ReAct loops, memory systems, context engineering & tool use. Built with Node.js + Gemini API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors