GraphMind is a GraphRAG-powered application that transforms unstructured documents into structured knowledge graphs and enables natural language querying over a Neo4j database.
- 📄 Upload PDF documents
- 🧠 Extract entities & relationships using LLMs (GPT-4o)
- 🕸️ Build a knowledge graph in Neo4j
- 🔍 Query the graph using natural language
- 💬 Multi-turn chat interface for continuous Q&A
- 📊 Interactive graph visualization with PyVis
- 🔄 Real-time graph updates per document
- Frontend: Streamlit
- LLM: GPT-4o (OpenAI)
- Framework: LangChain
- Graph DB: Neo4j (Aura / Local)
- Visualization: PyVis
- Backend: Python
- Upload a PDF document
- Text is extracted and chunked
- LLM converts text → graph structure (nodes + relationships)
- Data is stored in Neo4j
- Users query the graph via natural language
- Cypher queries are auto-generated and executed
- Results are returned and visualized
git clone https://github.com/your-username/GraphMind.git
cd GraphMind
python3 -m venv venv
source venv/bin/activate # Mac/Linux
# venv\Scripts\activate # Windows
pip install -r requirements.txtCreate a .env file:
OPENAI_API_KEY=your_openai_api_key
streamlit run main.py
- Create a free instance
- Copy credentials: URI → neo4j+s://... Username Password Database
Enter these in the Streamlit sidebar.
- “What diseases does John have?”
- “Which medications are prescribed?”
- “Who treated Alice?”
- “What relationships exist in the graph?”
- Dynamic knowledge graph visualization
- Multi-turn conversational responses
- Structured insights from unstructured data
- Generated 100+ nodes and relationships from document data
- Enabled real-time graph-based querying
- Reduced manual knowledge extraction effort significantly
- Advanced graph filtering & search
- Multi-document ingestion
- Table-aware PDF parsing
- Domain-specific schema tuning
- Export graph as JSON / PNG