A high-performance, self-hosted RAG (Retrieval-Augmented Generation) system with knowledge graph support.
- ๐ Knowledge Bases - Create isolated knowledge bases per user/tenant
- ๐ Multi-format Support - PDF, DOCX, XLSX, Markdown, CSV, TXT
- ๐ฌ AI Chat - Chat with your documents, get answers with citations
- ๐ Hybrid Search - Vector + keyword search with optional GraphRAG
- ๐ฅ Multi-tenant - Row-level security for data isolation
- ๐ High Performance - Go backend with async document processing
- ๐ณ One-click Deploy - Docker Compose setup
# Clone the repository
git clone https://github.com/njujiangxiang/myRAG.git
cd myRAG
# Start all services
docker-compose up -d
# Access the web UI
open http://localhost:3000โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ React โโโโโโถโ Go API โโโโโโถโ PostgreSQL โ
โ Frontend โ โ Backend โ โ (Metadata) โ
โโโโโโโโโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโโโโโโโโ
โ
โโโโโโโโผโโโโโโโ
โ NATS JS โ
โ (Queue) โ
โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโผโโโโโโโ
โ Workers โ
โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ Qdrant โ โ MinIO โ โ LLM APIs โ
โ (Vectors) โ โ (Files) โ โ (OpenAI) โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
- Backend: Go 1.21+ with Gin framework
- Frontend: React + TypeScript + shadcn/ui + Tailwind CSS
- Database: PostgreSQL 16
- Vector DB: Qdrant 1.7+
- Message Queue: NATS JetStream
- File Storage: MinIO (S3-compatible)
- LLM: OpenAI/Anthropic/Local (ollama)
Copy .env.example to .env and configure:
# Database
DATABASE_URL=postgres://user:pass@localhost:5432/ragdb
# Qdrant
QDRANT_URL=http://localhost:6333
# NATS
NATS_URL=nats://localhost:4222
# MinIO
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
# LLM
OPENAI_API_KEY=sk-...# Run backend
go run cmd/server/main.go
# Run frontend (in web/ directory)
npm run dev
# Run tests
go test ./...- v1.0: Core RAG functionality (vector search + chat)
- v1.1: GraphRAG integration (knowledge graph + entity extraction)
- v1.2: Advanced search (hybrid search + BM25 + reranking)
- v1.3: Frontend UI (multi-tenant dashboard)
- v1.4: SSE streaming for chat responses
- v2.0: Advanced permissions and team collaboration
MIT