LLM Scheduler is an open-source large language model scheduling and task management tool designed for developers and enterprises. It provides unified multi-model task management, priority scheduling, and status tracking capabilities.
- Multi-Model Support - Support for OpenAI API, local LLaMA, and various other large language models
- Intelligent Scheduling - Priority-based task queue scheduling with rate limiting and backpressure mechanisms
- Visual Management - Built-in Dashboard with real-time task and model status display
- Plugin Extensibility - Support for custom scheduling strategies and task types
- Ready to Deploy - One-click Docker deployment with complete deployment solutions
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Dashboard │ │ Go HTTP Server │ │ MySQL Database │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌─────────────────────────┐
│ Task Scheduling Queue │
└─────────────────────────┘
# Clone the repository
git clone [email protected]:carlos-code-max/LLM-Scheduler.git
cd LLM-Scheduler
# Start all services
docker-compose up -d
# Access Dashboard
open http://localhost:3000
- Start Backend Service
cd backend
go mod tidy
go run main.go
- Start Frontend
cd frontend
npm install
npm start
- Configure Database
# Import database schema
mysql -u root -p < scripts/init.sql
POST /api/tasks
- Submit new taskGET /api/tasks
- Get task listGET /api/tasks/:id
- Get task detailsPUT /api/tasks/:id/priority
- Adjust task priority
GET /api/models
- Get model listPOST /api/models
- Register new modelPUT /api/models/:id
- Update model configuration
- text-generation - Text generation tasks
- embedding - Text vectorization
- translation - Text translation
- summarization - Text summarization
- custom - Custom task types
Main configuration file: backend/config.yaml
server:
port: 8080
database:
host: localhost
port: 3306
username: root
password: password
database: llm_scheduler
redis:
host: localhost
port: 6379
db: 0
Issues and Pull Requests are welcome!
- Fork this repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.