GraphWeaver is a high-performance Graph RAG (Retrieval-Augmented Generation) knowledge engine. It leverages the power of "Entity-Relationship" modeling and "Semantic Vector" search to solve complex multi-hop reasoning challenges that traditional RAG systems often struggle with.
- Hybrid Retrieval Engine: Combines Vector Search (for semantic entry points) with Graph Diffusion (for logical relationship reasoning).
- Containerized Deployment: Easy setup with Docker Compose for local development and testing.
- High Performance: Backend implemented in Go (Golang) for efficient concurrency and low-latency processing.
- Modern Knowledge Management: Automated entity and relationship extraction from unstructured data (PDF/Markdown).
- Interactive UI: Sleek and responsive dashboard built with React, TypeScript, and Tailwind CSS.
GraphWeaver follows a monolithic architecture with clear separation of concerns, designed for ease of development and deployment via Docker Compose.
- Docker & Docker Compose
- Go 1.24+
- Make (optional, for convenience)
- Clone the repository:
git clone https://github.com/suyw-0123/GraphWeaver.git cd GraphWeaver - Configure your environment:
cp .env.example .env # Edit .env and add your GEMINI_API_KEY - Start the services:
docker-compose up -d
- Access the web interface at
http://localhost:80.
We use a Makefile to automate common development tasks:
make dev-tools: Install necessary Go development tools.make deps: Download dependencies.make fmt: Format code.make lint: Run linters.make test: Run unit and integration tests.make docker-build: Build Docker images locally.
This project is licensed under the MIT License - see the LICENSE file for details.
