dfserver  by huo-ju

Distributed backend AI pipeline server

created 2 years ago
348 stars

Top 80.9% on sourcepulse

GitHubView on GitHub
Project Summary

DFserver is a distributed backend AI pipeline server designed for building self-hosted GPU clusters to run Stable Diffusion and other AI image generation models. It targets users who want to leverage shared or personal GPU resources for AI tasks, with aspirations for large-scale production deployment and flexible pipeline extensions.

How It Works

DFserver employs a distributed architecture using RabbitMQ for task queuing. A Discord bot acts as the user interface, accepting prompts and publishing tasks to RabbitMQ. AI workers, running on GPU-equipped machines, consume these tasks, process them using models like Stable Diffusion or Real-ESRGAN, and publish results back to RabbitMQ. A dedicated process worker then retrieves these results and sends them to the user via Discord. This decoupled design allows for scalable worker deployment and pipeline extensibility.

Quick Start & Requirements

  • Install: Clone the repository and run make linux-amd64 (or linux-arm64).
  • Prerequisites: Go 1.18+, bash, RabbitMQ, Discord developer account and bot token. AI workers require PyTorch, diffusers, and specific AI models.
  • Setup: Edit configs/config.toml for server settings. AI workers need their respective .ini configuration files.
  • Run: Execute ./dist/linux_amd64/dfserver --confpath=./configs or use docker compose up -d. AI workers are run via python worker.py <worker_type>.
  • Docs: SD2.md

Highlighted Details

  • Supports Stable Diffusion 1.4, Waifu Diffusion 1.3, Real-ESRGAN upscaling, CLIP Interrogator, and a prompt-building assistant fine-tuned from GPT Neo 2.7B.
  • Enables sharing idle GPUs among friends to form a cluster.
  • Future plans include revenue sharing based on GPU workload and advanced pipeline integrations (e.g., DeepL, Gobig).
  • Discord bot integration for prompt input and result delivery.

Maintenance & Community

  • Project is actively developed with a clear TODO list.
  • Credits mention stability.ai and pharmapsychotic for CLIP Interrogator.

Licensing & Compatibility

  • The repository does not explicitly state a license in the README. This requires clarification for commercial use or closed-source linking.

Limitations & Caveats

The project is in active development with several items marked as TODO, including multi-GPU worker support and mask/inpaint functionality. The lack of a specified license is a significant caveat for adoption.

Health Check
Last commit

2 years ago

Responsiveness

1+ week

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.