A Graph-based Retrieval-Augmented Generation (RAG) application designed to combine document retrieval with knowledge-graph relationships to provide more context-aware AI responses.
Graph RAG Application
│
├── Backend
│ ├── API
│ ├── RAG Pipeline
│ ├── Document Processing
│ └── Knowledge Graph
│
└── Frontend
└── AI Notes Agent
graph-rag-app/
│
├── backend/
│
├── frontend/
│ └── ai-notes-agent/
│
└── README.md
Traditional RAG systems primarily retrieve relevant document chunks before sending them to an LLM.
This project explores a Graph RAG approach, where information can also be represented through relationships between entities and concepts.
Documents
│
▼
Processing
│
├──────────────► Retrieved Context
│
▼
Knowledge Graph
│
└──────────────► Related Entities
│
▼
AI Generation
│
▼
Answer
- Combine retrieval with relationship-aware context
- Improve contextual understanding of retrieved information
- Connect related entities and concepts
- Provide an AI-powered interface for working with knowledge
- Explore modern RAG and knowledge-graph architectures
The backend contains the server-side logic responsible for processing information and supporting the Graph RAG pipeline.
Responsibilities include:
- API handling
- Data processing
- Retrieval
- Knowledge-graph operations
- AI/RAG workflow orchestration
The frontend contains the AI Notes Agent, providing an interface for interacting with the application's AI capabilities.
Standard vector-based RAG can retrieve semantically similar information, but relationships between entities can sometimes be difficult to represent.
Graph RAG introduces explicit relationships:
Entity A
│
├── related to ──► Entity B
│
├── depends on ──► Entity C
│
└── mentioned in ─► Document D
This allows retrieval to consider both semantic similarity and relationships between information.
- Advanced graph traversal
- Hybrid vector + graph retrieval
- Reranking
- Conversation memory
- Streaming AI responses
- Retrieval evaluation
- Observability and tracing
- Scalable vector and graph storage
This project was built to explore Retrieval-Augmented Generation, knowledge graphs, information retrieval, and AI agent architecture, with a focus on understanding how structured relationships can improve context retrieval for LLM applications.