A Next-Gen RAG (Retrieval Augmented Generation) platform that doesn't just "read" text—it understands structure and sees charts.
(Note: Please verify a file named 'demo_screenshot.png' exists in your root folder)
Standard chatbots hallucinate. Standard RAG systems miss connections. GraphRAG Engine solves both.
By combining Knowledge Graphs (Neo4j) with Vector Search, this engine understands relationships between entities (e.g., "Company A" acquired "Company B"). Unlike traditional tools, it is Multi-Modal: it uses Computer Vision (Llama 4 Scout) to interpret charts, graphs, and tables in financial reports, converting visual data into searchable knowledge.
- 🧠 Graph-Based Retrieval: Uses Neo4j to map relationships between entities, providing deeper context than simple vector search.
- 👁️ Multi-Modal Vision: Automatically detects, extracts, and "reads" charts/graphs in PDFs using Llama 4 Vision (Scout).
- 📍 Click-to-Jump Citations: Every claim is backed by a clickable citation. Clicking a badge (
[Page 5]) instantly scrolls the built-in PDF viewer to the exact source. - ⚡ Real-Time Streaming: Responses are streamed token-by-token for a "ChatGPT-like" fluid experience.
- 📂 Dynamic Ingestion: Upload any PDF (10-Ks, Research Papers, Resumes), and the system builds a custom knowledge graph on the fly.
- 💬 Persistent Chat: Context-aware conversation that remembers previous questions.
- Language: Python 3.12+
- Framework: FastAPI (Async API)
- Database: Neo4j AuraDB (Graph Database)
- Orchestration: LlamaIndex (RAG Framework)
- PDF Parsing: LlamaParse (SOTA Document Parsing) + PyMuPDF (Image Extraction)
- LLMs (via Groq):
- Reasoning:
llama-3.3-70b-versatile(70B Params) - Vision:
meta-llama/llama-4-scout-17b-16e-instruct(Multimodal) - Embeddings:
BAAI/bge-small-en-v1.5(HuggingFace)
- Reasoning:
- Framework: Next.js 14 (React)
- Language: TypeScript
- Styling: Tailwind CSS
- Icons: Lucide React
- State Management: React Hooks
graph TD
User[User Uploads PDF] --> API[FastAPI Backend]
API --> Parse[LlamaParse Text Extraction]
API --> Vision[PyMuPDF Image Extraction]
Vision --> Llama4[Llama 4 Vision Model]
Llama4 --> Desc[Chart Descriptions]
Parse --> Combine[Combine Text + Descriptions]
Combine --> Graph[Neo4j Knowledge Graph]
Query[User Query] --> RAG[LlamaIndex Engine]
RAG --> Search[Vector + Graph Search]
Search --> Context[Retrieved Nodes]
Context --> LLM[Llama 3.3 Reasoning]
LLM --> Stream[Stream Response to UI]