Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArchiGen — AI Floor Plan Generator Fine-Tuned For Canadian Homes

Generate, edit, and export building-code-compliant floor plans from natural language or existing drawings.

What It Does

  1. Describe your house → "3-bedroom bungalow on a 12×20m lot in Laval with open kitchen and home office"
  2. AI generates a floor plan → Vector layout with proper room adjacency, dimensions, and wall alignment
  3. Edit with words or clicks → "Make the master bedroom bigger" or drag walls directly on canvas
  4. Import existing plans → Upload a photo, DXF, or IFC file and start editing
  5. Check compliance → Automated validation against Quebec/Canadian building codes
  6. Export for professionals → Download as .ifc (BIM), .dxf (CAD), .svg, or .pdf

Quick Start

Prerequisites

  • Python 3.11+
  • Node.js 20+
  • Docker + Docker Compose
  • (For ML models) NVIDIA GPU with CUDA 12+

Development Setup

# Clone
git clone https://github.com/Dropio12/archigen.git
cd archigen

# Backend
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env.local  # edit with your keys

# Frontend
cd ../frontend
npm install
cp .env.example .env.local

# Infrastructure (Redis + Neo4j)
cd ../infra/docker
docker compose -f docker-compose.dev.yml up -d

# Run
cd ../../backend && uvicorn app.main:app --reload --port 8000
cd ../frontend && npm run dev
# Open http://localhost:3000

With ML Models (GPU required)

# Download pretrained weights from Hugging Face (~2 GB)
bash ml/scripts/download_weights.sh

# Start LLM server (pick one)
ollama pull qwen3:8b           # Easy mode
# OR
python -m sglang.launch_server --model Qwen/Qwen3-8B --port 30000  # Production mode

# Test generation
python test_gsdiff.py
python test_sglang.py

Architecture

See ARCHITECTURE.md for the full technical architecture, build order, and all schemas.

NL Input → Qwen3 (JSON) → GSDiff (vectors) → Shapely (cleanup) → IFC (BIM) → Canvas (UI)
                                                     ↑
                                         Edit loop: NL or drag-and-drop

Tech Stack

Layer Technology License
LLM Qwen3 via SGLang/Ollama + Outlines Apache 2.0
Floor Plan AI GSDiff, ChatHouseDiffusion Academic / Apache 2.0
Geometry Shapely, pyclipper, trimesh BSD / MIT
BIM IfcOpenShell, ezdxf LGPL / MIT
Compliance Microsoft GraphRAG + Neo4j MIT / Community
Backend FastAPI + Celery + Redis MIT
Frontend Next.js + Konva.js + Three.js MIT
Database Supabase (PostgreSQL) Apache 2.0
Deployment Modal (GPU), Vercel (frontend)

License

MIT

About

Creates Legally Compliant Floor Plans from Natural Language Using GraphRAG & Fine-tuned Models

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages