1. Designed and built a Memory-Augmented RAG system using FastAPI and LLMs.
2. Implemented Hybrid Retrieval (Vector + Keyword Search), Multi-Query Expansion, and Cross-Encoder Reranking.
3. Developed Knowledge Graph–based Query Expansion and Conversational Topic Tracking.
4. Built Memory Retrieval, Memory Deduplication, and Context Compression pipelines.
5. Created Retrieval Analytics Dashboard with latency, source, and retrieval-quality monitoring.
6. Integrated Evidence Extraction to optimize token usage and improve answer grounding.
| Component | Technology | Strategy |
|---|---|---|
| PDF Ingestion | PDFPlumber | Document Knowledge Extraction |
| Chunking Engine | Custom Chunker | Context Preservation |
| Embedding Generation | Sentence Transformers | Semantic Encoding |
| Vector Database | FAISS | Dense Vector Retrieval |
| Keyword Search | BM25 | Sparse Retrieval |
| Hybrid Retrieval | FAISS + BM25 | Retrieval Fusion |
| Multi Query | Query Expansion Service | Recall Improvement |
| Knowledge Graph | NetworkX | Semantic Graph Expansion |
| Reranking | Cross Encoder | Relevance Optimization |
| Evidence Extraction | Evidence Extractor | Context Compression |
| Memory Retrieval | Memory Engine | Long-Term Memory |
| Topic Tracking | Topic Tracker | Conversational Context |
| Memory Deduplication | Deduplicator | Duplicate Prevention |
| Context Builder | Prompt Assembly Engine | Context Aggregation |
| Answer Generation | Phi-3 Mini | Retrieval-Augmented Generation |
| Analytics Dashboard | Custom Analytics | Pipeline Monitoring |
| Backend Integration | Spring Boot | Enterprise API Integration |
| Testing | Postman | End-to-End Validation |
| Version Control | Git & GitHub | Source Management |
- Project Structure
- Phase 01 - PDF Ingestion
- Phase 02 - Chunking Engine
- Phase 03 - Embedding Generation
- Phase 04 - Vector Database
- Phase 05 - Dense Retrieval
- Phase 06 - BM25 Retrieval
- Phase 07 - Hybrid Retrieval
- Phase 08 - Cross Encoder Reranking
- Phase 09 - Evidence Extraction
- Phase 10 - Memory System
- Phase 11 - Topic Tracking
- Phase 12 - Multi Query Expansion
- Phase 13 - Context Builder
- Phase 14 - Answer Generation
- Phase 15 - Analytics Dashboard
flowchart TB
User[User]
subgraph Offline Pipeline
PDF[PDF Files]
Loader[PDF Loader]
Chunker[Chunking]
Embedder[Embeddings]
VectorDB[(Vector DB)]
BM25[(BM25 Index)]
PDF --> Loader
Loader --> Chunker
Chunker --> Embedder
Embedder --> VectorDB
Chunker --> BM25
end
subgraph Online Pipeline
Query[Question]
MQ[Multi Query]
Dense[Dense Search]
Sparse[BM25 Search]
Hybrid[Hybrid Retrieval]
Rerank[Reranker]
Memory[Memory]
Topic[Topic Tracker]
Context[Context Builder]
LLM[LLM]
Query --> MQ
MQ --> Dense
MQ --> Sparse
VectorDB --> Dense
BM25 --> Sparse
Dense --> Hybrid
Sparse --> Hybrid
Hybrid --> Rerank
Memory --> Context
Topic --> Context
Rerank --> Context
Context --> LLM
end
User --> Query
LLM --> Analytics[Analytics Dashboard]
Analytics --> Answer[Response]
Purpose: "Convert uploaded PDFs into raw textual knowledge."
flowchart LR
A[PDF Files]
-->
B[PDF Loader]
B
-->
C[Extract Raw Text]
C
-->
D[Store Documents]
D
-->
E[Knowledge Base]
Purpose: "Break large documents into searchable chunks"
flowchart LR
A[Raw Document]
-->
B[Chunking Service]
B
-->
C[Chunk 1]
B
-->
D[Chunk 2]
B
-->
E[Chunk N]
C --> F[Chunk Store]
D --> F
E --> F
Purpose: "Convert text into vector representations."
flowchart LR
A[Chunks]
-->
B[Sentence Transformer]
-->
C[Embeddings]
-->
D[Vector Store]
Purpose: "Store semantic representations for retrieval."
flowchart LR
A[Chunk]
-->
B[Embedding]
-->
C[FAISS / Chroma]
-->
D[Persistent Storage]
Purpose: "Semantic similarity search."
flowchart LR
A[User Query]
-->
B[Embedding Model]
-->
C[Query Vector]
-->
D[Vector Search]
-->
E[Top K Chunks]
Purpose: "Exact keyword retrieval."
flowchart LR
A[User Query]
-->
B[BM25 Engine]
-->
C[Keyword Matching]
-->
D[Top K Results]
Purpose: "Combine semantic and keyword search."
flowchart TD
A[Query]
B[Dense Search]
C[BM25 Search]
D[Merge Results]
E[Hybrid Results]
A --> B
A --> C
B --> D
C --> D
D --> E
Purpose: "Improve retrieval precision."
flowchart LR
A[Hybrid Results]
-->
B[Cross Encoder]
-->
C[Relevance Scores]
-->
D[Top Ranked Chunks]
Purpose: "Reduce unnecessary tokens."
flowchart LR
A[Top Chunks]
-->
B[Sentence Scoring]
-->
C[Important Sentences]
-->
D[Compressed Context]
Purpose: "Maintain long-term conversation context."
flowchart TD
A[User Question]
-->
B[Memory Retriever]
-->
C[Previous Conversations]
-->
D[Relevant Memories]
Purpose: "Resolve follow-up questions like: "Explain it?" "Compare them?""
flowchart LR
A[Question]
-->
B[Topic Extractor]
-->
C[Current Topic]
-->
D[Topic Tracker]
Purpose: "Improve recall by generating multiple search queries."
flowchart TD
A[Original Question]
-->
B[Query Generator]
B --> C[Variant 1]
B --> D[Variant 2]
B --> E[Variant 3]
C --> F[Retrieval]
D --> F
E --> F
Purpose: "Assemble everything before LLM generation."
flowchart TD
A[Retrieved Chunks]
B[Memory]
C[Topic]
D[Evidence]
A --> E[Context Builder]
B --> E
C --> E
D --> E
E --> F[Final Prompt Context]
Purpose: "Generate grounded responses from retrieved knowledge."
flowchart LR
A[Prompt]
-->
B[LLM]
-->
C[Generated Answer]
-->
D[Response Formatter]
Purpose: "Observe and evaluate RAG pipeline performance."
flowchart TD
A[Question]
-->
B[Analytics Service]
B --> C[Retrieval Time]
B --> D[Rerank Time]
B --> E[LLM Time]
B --> F[Memory Hits]
B --> G[Sources]
B --> H[Dashboard Output]
Document Ingestion |
Chunks, Vector Storage, Collection Size (Meta Data) |
Retrieval Pipeline Logs |
Upload, Serach, Chat |
API Cost • Inference Dashboard |
Phi-3-mini-4K • 3B+ |
/api/Chat 200K |
User Query -01 |
User Query - 02 |
Spring Boot Connection with RAG Pipeline |
Benchmark Testing, Metric Analysis |










