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.