An intelligent question-answering system powered by knowledge graphs, combining Neo4j database and Wikipedia data for efficient Retrieval-Augmented Generation (RAG).
- 🔍 Smart Retrieval - Hybrid vector and graph-based search
- 📚 Knowledge Construction - Automated Wikipedia entity relationship extraction
- 🧠 Context Aware - Multi-turn conversation memory
- 🔄 Real-time Updates - Dynamic Wikipedia data synchronization
- Python 3.8+
- LangChain 0.3.7
- Neo4j Database
- OpenAI API access
Create a .env file with:
AURA_INSTANCENAME=your_instance
NEO4J_URI=your_uri
NEO4J_USERNAME=your_username
NEO4J_PASSWORD=your_password
NEO4J_DATABASE=your_database
OPENAI_API_KEY=your_key
OPENAI_ENDPOINT=your_endpointpip install -r requirements.txtpython wikipedia_kg_rag.pyExample queries:
# Simple query
"How did the Roman empire fall?"
# Query with chat history
"When did he become the first emperor?"graph TD
A[Wikipedia Data] -->|Extract| B[Data Processor]
B -->|Store| C[Neo4j Graph]
B -->|Embed| D[Vector Store]
E[User Query] -->|Input| F[Query Engine]
F -->|Search| C
F -->|Match| D
C -->|Context| G[Response Generator]
D -->|Similar Docs| G
G -->|Generate| H[Final Answer]