An industrial-grade Research & Operations (MLOps) platform tailored for Reinforcement Learning (RL) and Multi-Agent RL (MARL).
Designed for researchers who need reproducible experiments, automated evaluation, and deep observability.
- Hybrid Engine Support: Native support for Stable-Baselines3 (Single-Agent) and Ray RLLib (Multi-Agent).
- Git-Ops Workflow: Run experiments directly from your Git commits. The platform records commit hashes for 100% reproducibility.
- Config Diff: Instantly visualize hyperparameter differences between any two runs.
- TensorBoard Integration: Built-in TensorBoard proxy for deep gradient/loss analysis.
- Smart Video Gallery: Automatically records and organizes replay videos from training checkpoints.
- Real-time Metrics: Live streaming of Reward, Entropy, and Win Rate with downsampling for performance.
- Matrix Evaluation: Automated "League Table" generation. Run A vs Run B evaluations with heatmaps and Elo scoring.
- Repro Bundle: One-click export of
reproduce.sh,config.yaml, andREADME.mdfor open-sourcing your results.
Best for: Servers with Docker installed. Zero configuration required.
# 1. Start the platform (Builds everything automatically)
docker compose up -d --build
# 2. View logs
docker compose logs -fAccess at: http://localhost:8000
Best for: Shared HPC clusters, School servers without root access.
Step 1: Local Preparation (On your Mac/PC) Build the frontend assets locally to avoid installing Node.js on the server.
cd rl-research-platform
npm ci && npm run build
# Now upload the entire project (including the new 'dist' folder) to your server.Step 2: Server Launch
# 1. Grant execution permissions
chmod +x start-linux.sh
chmod +x start-mac.sh
# 2. Start the platform (one-click setup + tests)
# Linux:
./start-linux.sh
# macOS:
./start-mac.shAccess at: http://localhost:8000
Best for: Existing Python environment already has dependencies, or network-restricted servers.
chmod +x scripts/backend-local-up.sh
cp apps/portal-backend/.env.example apps/portal-backend/.env
./scripts/backend-local-up.shNotes:
- Uses SQLite by default (
apps/portal-backend/rl_platform.db). - Auto-detects usable Python interpreter (
BACKEND_PYTHON,.venv, then conda env). - Skips heavy Orbit/extra runtime installation from
start-linux.sh.
Best for: Verifying "can run on this machine" before recording or demo.
chmod +x scripts/acceptance-check.sh
./scripts/acceptance-check.shChecks:
- docker compose config validation
- frontend build
- backend startup +
/healthzsmoke
The start-*.sh scripts are fully automated and will:
- Build the frontend + generate OpenAPI clients
- Create venv and install backend/runner dependencies (or reuse an existing conda env if available)
- Optionally install Miniconda + OrbitZoo + Orekit data (
INSTALL_ORBIT_RUNTIME=1) - Optionally install common RL env extras (
INSTALL_RL_EXTRAS=1) - Initialize DB and seed defaults
- Optionally seed comprehensive MARL envs (
SEED_MARL_ENVS=1) - Optionally run backend tests (
RUN_TESTS=1) - Start TensorBoard + backend
You can skip heavy steps if needed:
SEED_MARL_ENVS=0 RUN_TESTS=0 INSTALL_ORBIT_RUNTIME=0 INSTALL_RL_EXTRAS=0 ./start-linux.shrl-research-platform/
├── apps/
│ ├── portal-backend/ # FastAPI Backend & Orchestrator
│ │ ├── app/ # Core Logic (API, DB, Services)
│ │ └── runner/ # Training Runner (Executes SB3/RLLib)
│ └── portal-frontend/ # React Frontend (Vite)
├── scripts/
│ ├── seed-full.sh # Database Seeding (Default Envs/Algos)
│ ├── backend-local-up.sh # Backend quick start (offline-friendly)
│ ├── start-linux.sh # Unified Startup Script (Linux)
│ └── start-mac.sh # Unified Startup Script (macOS)
├── docs/ # Documentation
└── requirements.txt # Top-level deps
- Develop: Write your custom environment or algorithm wrapper in your local Git repository.
- Push: Commit your changes to GitHub/GitLab.
- Submit: In the platform, create a Job pointing to your Git Repo URL.
- Observe: Watch live TensorBoard plots and video replays.
- Evaluate: Select your best checkpoints and run a "Matrix Job" to benchmark against baselines.
- Publish: Click "Download Repro Bundle" to get a clean, shippable zip file for your paper.
See Developer Guide for details on:
- Adding custom Gym/PettingZoo environments.
- Registering new Algorithms.
- Plugin system for custom rewards/loggers.
🔥 New: LLM Integration Guide - How to use GPT-4/Claude to auto-generate code for this platform.
Built for the RL Community.