Skip to content

Project: Knowledge Assistant

Building a production-ready RAG (Retrieval-Augmented Generation) application from scratch.

This repository is developed incrementally over 4 weeks, with each branch representing a major milestone in the journey.


πŸ›€οΈ Journey Philosophy

This repository is intentionally built in small, reviewable Pull Requests.

Each Pull Request introduces exactly one major concept, making it easy for anyone to:

  • Follow the learning journey
  • Review architectural decisions
  • Understand how a production RAG system evolves over time
  • Recreate the project from scratch

The goal isn't just to build an AI applicationβ€”it's to document the engineering process behind it.

πŸš€ Learning Roadmap

🌱 Week 1 β€” Core RAG

Related project notes: Week 1 AI Assistant

Related theory: Chunking | Embedding | Vector Database | Retrieval | Genration Prams

Branch: week-1-core-RAG

Goal: Build a fully functional RAG pipeline capable of answering questions from uploaded PDF documents.

Progress

  • βœ… PR-01 β€” Project Bootstrap
  • βœ… PR-02 β€” PDF Upload & Loading
  • βœ… PR-03 β€” Chunking Engine
  • βœ… PR-04 β€” Embedding Pipeline
  • βœ… PR-05 β€” FAISS Vector Store
  • βœ… PR-06 β€” Basic Question Answering

Outcome

By the end of Week 1, the application will:

  • πŸ“„ Upload one or more PDF documents
  • βœ‚οΈ Split documents into chunks
  • 🧠 Generate embeddings
  • πŸ—„οΈ Store embeddings in FAISS
  • πŸ” Retrieve relevant chunks
  • πŸ’¬ Answer user questions using the uploaded documents

πŸš€ Week 2 β€” Better Retrieval

Related project notes: Week 2 AI Assistant

Related theory: Hybrid Search | Metadata | Guardrails | Structured Outputs

Branch: week-2-better-retrieval

Goal: Improve retrieval quality to make the assistant more production-ready.

Progress

  • βœ… PR-07 β€” Hybrid Search
  • βœ… PR-08 β€” Metadata Filtering
  • βœ… PR-09 β€” Guardrails

Outcome

The assistant will now support:

  • πŸ”€ Hybrid Search (Dense + Sparse Retrieval)
  • 🏷️ Metadata-based Filtering
  • πŸ›‘οΈ Prompt Injection Protection
  • βœ… Safer and more accurate responses

πŸ—οΈ Week 3 β€” LCEL Refactor

Related project notes: Week 3 AI Assistant

Related theory: LCEL | Metadata | Guardrails | Structured Outputs

Branch: week-3-LCEL-refactor

Goal: Refactor the application using LangChain Expression Language (LCEL).

Progress

  • βœ… PR-10 β€” LCEL Pipeline
  • βœ… PR-11 β€” Prompt Refactoring

Outcome

The project will evolve from helper functions to a modular pipeline:

Retriever
      β”‚
      β–Ό
Prompt
      β”‚
      β–Ό
LLM
      β”‚
      β–Ό
Output Parser

Benefits:

  • Better architecture
  • Easier debugging
  • Improved composability
  • Production-style LangChain implementation

🏁 Week 4 β€” Production Readiness

Related project notes: Week 3 AI Assistant

Branch: week-4-production-readiness

Goal: Transform the prototype into a production-quality application.

Progress

  • βœ… PR-12 β€” Chat History
  • βœ… PR-13 β€” Conversation Memory
  • βœ… PR-14 β€” Logging & Configuration
  • βœ… PR-15 β€” Error Handling
  • βœ… PR-16 β€” Documentation & Deployment

Outcome

The final application will include:

  • πŸ’¬ Chat History
  • 🧠 Conversation Memory
  • πŸ“Š Logging
  • βš™οΈ Configuration Management
  • 🚨 Robust Error Handling
  • πŸ“– Complete Documentation
  • ☁️ Deployment

πŸ“ˆ Project Evolution

Week 1
──────────────
PDF Upload
      β”‚
      β–Ό
Chunking
      β”‚
      β–Ό
Embeddings
      β”‚
      β–Ό
FAISS
      β”‚
      β–Ό
Question Answering

                ↓

Week 2
────────────────────────
Hybrid Search
      β”‚
      β–Ό
Metadata Filtering
      β”‚
      β–Ό
Guardrails

                ↓

Week 3
────────────────────────
LCEL Refactor
      β”‚
      β–Ό
Cleaner Architecture
      β”‚
      β–Ό
Better Prompt Pipeline

                ↓

Week 4
────────────────────────
Chat History
      β”‚
      β–Ό
Conversation Memory
      β”‚
      β–Ό
Logging
      β”‚
      β–Ό
Configuration
      β”‚
      β–Ό
Error Handling
      β”‚
      β–Ό
Deployment

🎯 Final Features

  • βœ… PDF Upload
  • βœ… Recursive Chunking
  • βœ… Embeddings
  • βœ… FAISS Vector Store
  • βœ… Semantic Search
  • βœ… Hybrid Search
  • βœ… Metadata Filtering
  • βœ… Guardrails
  • βœ… LCEL Architecture
  • βœ… Chat History
  • βœ… Conversation Memory
  • βœ… Logging
  • βœ… Configuration Management
  • βœ… Error Handling
  • ⬜ Deployment

πŸ“š Learning Objectives

This project is designed to teach:

  • Retrieval-Augmented Generation (RAG)
  • Vector Databases
  • Embeddings
  • Similarity Search
  • Hybrid Search
  • Metadata Filtering
  • Guardrails
  • LangChain Expression Language (LCEL)
  • Production-ready AI application architecture

Every Pull Request represents a single engineering milestone, making it easy to follow the evolution of the project from a minimal RAG prototype to a production-ready AI application.