An interactive chatbot that lets you ingest documents & URLs, build a knowledge graph in Neo4j, and chat with your knowledge using LLMs (Cohere / Gemini). It combines structured graph queries and vector-based semantic search to deliver accurate, source-grounded answers.
- Data Ingestion: Upload PDFs, DOCX, TXT, CSV, XLSX or scrape web pages.
- Knowledge Graph Extraction: Uses LLMs to identify entities, relationships, and concepts.
- Vector Search: Embedding-based retrieval for contextual answers.
- Hybrid QA: Combines Cypher graph queries + vector semantic search.
- Source Attribution: Answers reference original documents/URLs.
- Strict Mode: No hallucinations — answers only from your ingested data.
- Interactive UI: Built with Gradio for an easy-to-use interface.
- LangChain for orchestration
- Neo4j for graph storage + vector index
- Cohere or Google Gemini for LLM & embeddings
- Gradio for UI
- BeautifulSoup + Requests for web scraping
- Connect to Neo4j (AuraDB or self-hosted)
- Choose LLM Provider (Cohere or Gemini) + enter API key
- Upload files or enter URLs
- Process & Build Knowledge Graph → creates entities, relationships, and vector index
- Ask Questions → chatbot retrieves structured + unstructured knowledge to answer
pip install gradio langchain neo4j python-dotenv requests beautifulsoup4
pip install langchain-community langchain-experimental
pip install langchain-google-genai cohere
pip install json-repair
pip install unstructured[all-docs]python app.pyThe Gradio interface will launch at http://0.0.0.0:7860 (or shareable link if share=True).
👉 Try it directly on Hugging Face Spaces
- Neo4j database (Neo4j Aura recommended)
- API Key for Cohere or Google Gemini
- Documents or URLs to process
- Entity-based: “What organizations are mentioned in the documents?”
- Relationship: “How are [Entity A] and [Entity B] related?”
- Content: “Summarize the main concepts about cybersecurity in these files.”
Developed by samuelolubukun