Skip to content

sayednowshad/CortexRAG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡CortexRAG ⚡

"Memory-Augmented Hybrid Retrieval Intelligence Platform"

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.

Tech Stack 💡


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

Table of Contents

Screenshots & Demonstrations

Complete RAG Architecture

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]
Loading

Phase 01 • Data Ingestion

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]
Loading

Phase 02 • Chunking Engine

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
Loading

Phase 03 • Embedding Generation

Purpose: "Convert text into vector representations."

flowchart LR

A[Chunks]

-->
B[Sentence Transformer]

-->
C[Embeddings]

-->
D[Vector Store]
Loading

Phase 04 • Vector Database

Purpose: "Store semantic representations for retrieval."

flowchart LR

A[Chunk]

-->
B[Embedding]

-->
C[FAISS / Chroma]

-->
D[Persistent Storage]
Loading

Phase 05 • Dense Retrieval

Purpose: "Semantic similarity search."

flowchart LR

A[User Query]

-->
B[Embedding Model]

-->
C[Query Vector]

-->
D[Vector Search]

-->
E[Top K Chunks]
Loading

Phase 06 • BM25 Retrieval

Purpose: "Exact keyword retrieval."

flowchart LR

A[User Query]

-->
B[BM25 Engine]

-->
C[Keyword Matching]

-->
D[Top K Results]
Loading

Phase 07 • Hybrid Retrieval

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
Loading

Phase 08 • Cross Encoder Reranking

Purpose: "Improve retrieval precision."

flowchart LR

A[Hybrid Results]

-->
B[Cross Encoder]

-->
C[Relevance Scores]

-->
D[Top Ranked Chunks]
Loading

Phase 09 • Evidence Extraction

Purpose: "Reduce unnecessary tokens."

flowchart LR

A[Top Chunks]

-->
B[Sentence Scoring]

-->
C[Important Sentences]

-->
D[Compressed Context]
Loading

Phase 10 • Memory System

Purpose: "Maintain long-term conversation context."

flowchart TD

A[User Question]

-->
B[Memory Retriever]

-->
C[Previous Conversations]

-->
D[Relevant Memories]
Loading

Phase 11 • Topic Tracking

Purpose: "Resolve follow-up questions like: "Explain it?" "Compare them?""

flowchart LR

A[Question]

-->
B[Topic Extractor]

-->
C[Current Topic]

-->
D[Topic Tracker]
Loading

Phase 12 • Multi Query Expansion

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
Loading

Phase 13 • Context Builder

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]
Loading

Phase 14 • Answer Generation

Purpose: "Generate grounded responses from retrieved knowledge."

flowchart LR

A[Prompt]

-->
B[LLM]

-->
C[Generated Answer]

-->
D[Response Formatter]
Loading

Phase 15 • Analytics Dashboard

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]
Loading

AI Layer • (FastAPI + RAG + LLM)


Document Ingestion


Chunks, Vector Storage, Collection Size (Meta Data)


Retrieval Pipeline Logs


Upload, Serach, Chat



Hugging Face • (API Dashboard)


API Cost • Inference Dashboard


Phi-3-mini-4K • 3B+



PostMan Dashboard • Frontend (Testing)


/api/Chat 200K


User Query -01


User Query - 02



Backend • (Spring Boot)


Spring Boot Connection with RAG Pipeline



RAG Pipeline • (Metric Analysis Dashboard)


Benchmark Testing, Metric Analysis