Godis Hivemind is a decentralized AI compute platform where users can contribute their computing resources to collaboratively train AI models.
This platform enables a peer-to-peer network for sharing CPU and GPU resources. It features a smart churn prevention system to maintain community engagement and ensure the stability of the network.
The system is built on a microservices architecture using Go, with the following core components:
- Coordinator Service: Manages task scheduling, node registration, and network health.
- Node Service: A daemon that runs on contributor machines to execute tasks and monitor resources.
- CLI Tool: A command-line interface for users to interact with the platform.
- Go (version 1.18 or later)
- Docker and Docker Compose
- PostgreSQL
- Redis
-
Clone the repository:
git clone https://github.com/nothr/godis.git cd godis/hivemind -
Set up the environment:
cp .env.example .env
Update the
.envfile with your local configuration details. -
Run the setup script:
./scripts/setup.sh
-
Build the services:
make build
-
Start the coordinator:
make run-coordinator
-
Start a worker node:
make run-node
Use the CLI to interact with the Godis network:
-
Register a node:
./build/cli register-node --address <your-node-ip>
-
Submit a job:
./build/cli submit-job --model-url <url-to-model>
-
Check network status:
./build/cli status
-
Run tests:
make test -
Clean build artifacts:
make clean