Tag: Query Decomposition

  • CRAG MultiHop Reasoning Engine: Self-Grading RAG with Query Decomposition

    CRAG MultiHop Reasoning Engine: Self-Grading RAG with Query Decomposition

    Key Takeaways:

    • Automatically decomposes complex questions into logical sub-queries (up to 3 hops)
    • Self-grading retrieval system evaluates context quality before generation
    • Hybrid dense/sparse search with local Jina reranker for precision
    • Real-time WebSocket streaming shows pipeline progress visually
    • Graceful degradation maintains functionality during partial failures

    The Challenge: Why CRAG MultiHop Reasoning Engine Was Built

    Traditional Retrieval-Augmented Generation (RAG) systems face two critical limitations:

    • Multi-Hop Questions: Complex queries requiring intermediate reasoning steps often fail because standard RAG performs single-step retrieval.
    • Noisy Contexts: Weak or irrelevant retrieved documents lead to hallucinated answers when fed to LLMs.

    The CRAG MultiHop Reasoning Engine addresses these through a novel pipeline combining:

    1. Sequential Question Decomposition
    2. Self-Grading Retrieval (Corrective RAG)
    3. Hybrid Dense+Sparse Search with Local Reranking
    4. Real-Time Pipeline Visualization

    Core Architecture & Technical Stack

    Containerized Microservices

    • Frontend: React + Vite with WebSocket event streaming
    • Backend: Django ASGI (Daphne) with Celery task queues
    • Vector DB: ChromaDB for dense retrieval
    • Search: BM25 sparse retrieval + Jina Reranker v3
    • LLM: OpenRouter with Qwen 30B for generation

    Model Pipeline

    Component Model Execution
    Embeddings multilingual-e5-small Local CPU
    Reranker jina-reranker-v3 Local CPU
    Generator Qwen 30B Cloud (OpenRouter)

    Key Features Breakdown

    1. Multi-Hop Query Decomposition

    Breaks complex questions like “What were the economic impacts of the 2021 Suez Canal obstruction on European manufacturing?” into sequenced sub-queries:

    1. Identify key events during 2021 Suez Canal obstruction
    2. Find European manufacturing sectors dependent on Suez routes
    3. Cross-reference economic reports from impacted industries

    2. Self-Grading Corrective RAG

    Uses multilingual-e5-small to classify retrieved chunks as:

    • Correct: Directly relevant (proceeds to generation)
    • Ambiguous: Triggers query refinement
    • Incorrect: Falls back to external web search

    Real-World Use Cases

    • Investigative Research: Connect facts across legal documents or medical studies
    • Technical Support: Diagnose issues requiring multi-step manual lookups
    • Academic Literature Reviews: Synthesize findings from disparate papers

    How It Works: Step-by-Step Workflow

    1. User submits query via WebSocket connection
    2. System decomposes into sub-queries (if multi-hop enabled)
    3. Executes hybrid dense/sparse retrieval against ChromaDB
    4. Grades results using CRAG evaluator
    5. Reranks merged results with Jina Cross-Encoder
    6. Generates answer with Qwen 30B
    7. Streams verification scores back to UI

    Comparison: CRAG vs Traditional RAG

    Feature Traditional RAG CRAG MultiHop
    Query Complexity Single-step Multi-hop (3+ steps)
    Retrieval QA Passes all results to LLM Self-grades context quality
    Fallback None External web search

    Frequently Asked Questions

    How does multi-hop differ from chain-of-thought prompting?

    Multi-hop performs sequential retrievals with each step’s results modifying subsequent queries, while CoT maintains a single context window.

    What hardware requirements does the system have?

    Designed for 4GB+ RAM VPS environments with CPU-only support for local models (jina-reranker-v3, multilingual-e5).

    Can I customize the retrieval pipeline?

    Yes – the UI allows toggling hybrid search, multi-hop depth, CRAG grading, and reranking per query.

    Conclusion & Next Steps

    The CRAG MultiHop Reasoning Engine represents a significant evolution in RAG architectures by combining self-assessment with sequential reasoning. For developers building complex QA systems, it provides:

    • A reference implementation for agentic RAG workflows
    • Production-ready Django/React codebase patterns
    • Configurable pipeline components

    Try the Live Demo