Skip to content

my golang GIN backend and Graph RAG implementation with optimized method prev project, and still dev-ing

License

Notifications You must be signed in to change notification settings

Suyw-0123/GraphWeaver

Repository files navigation

GraphWeaver

Go Report Card License: MIT

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.


Key Features

  • 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.

Technology Stack

💻 Frontend & Styling

React TypeScript Vite Tailwind CSS

⚙️ Backend & Core

Go Gin Google Gemini

🗄️ Databases & Storage

PostgreSQL Neo4j Qdrant

🚀 Infrastructure & DevOps

Docker GitHub Actions


System Architecture

GraphWeaver follows a monolithic architecture with clear separation of concerns, designed for ease of development and deployment via Docker Compose.

diagram


Quick Start

Prerequisites

Running with Docker Compose

  1. Clone the repository:
    git clone https://github.com/suyw-0123/GraphWeaver.git
    cd GraphWeaver
  2. Configure your environment:
    cp .env.example .env
    # Edit .env and add your GEMINI_API_KEY
  3. Start the services:
    docker-compose up -d
  4. Access the web interface at http://localhost:80.

Development

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.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

my golang GIN backend and Graph RAG implementation with optimized method prev project, and still dev-ing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages