bug-triage-openenv / PROJECT.md
savetrees's picture
Upload folder using huggingface_hub
9b47159 verified

PROJECT.md β€” OpenEnv Environment Project

🎯 Project Overview

Environment Name: [ENV_NAME] Domain: [DOMAIN] (e.g., Software Engineering / Finance / Healthcare / Legal) Task Summary: [ONE_SENTENCE_DESCRIPTION_OF_REAL_WORLD_TASK]

⚠️ This must be a real-world task β€” not a game or toy environment.


πŸ”— Official OpenEnv References (Always Follow)


πŸš€ High-Level Pipeline

[REAL_WORLD_TASK / DATA_SOURCE]
          β”‚
          β–Ό
OpenEnv Environment  (server/environment.py)
          β”‚   FastAPI (server/app.py)  ←→  Docker
          β–Ό
HTTPEnvClient (client.py)
          β”‚   reset() / step() / state()
          β–Ό
GRPO Training (TRL + vLLM)
          β”‚
          β–Ό
Fine-tuned LLM β†’ pushed to Hugging Face Hub

πŸ“¦ Tech Stack

Layer Technology
Environment server FastAPI + Uvicorn
Containerisation Docker
Deployment Hugging Face Spaces
Training framework TRL (GRPOTrainer)
Model backend vLLM (colocate mode)
Base model [BASE_MODEL] (e.g., Qwen/Qwen3-1.7B)
Package manager uv

πŸ“ Repository Layout

[ENV_NAME]/
β”œβ”€β”€ server/
β”‚   β”œβ”€β”€ app.py            ← FastAPI entry point
β”‚   β”œβ”€β”€ environment.py    ← Core environment logic
β”‚   └── Dockerfile
β”œβ”€β”€ models.py             ← Typed Action / Observation / State
β”œβ”€β”€ client.py             ← HTTPEnvClient subclass
β”œβ”€β”€ openenv.yaml          ← Manifest (required)
└── pyproject.toml

βœ… Definition of Done

  • openenv init scaffold created
  • models.py β€” typed Action, Observation, State defined
  • environment.py β€” reset(), step(), state implemented
  • server/app.py β€” uses create_fastapi_app(env)
  • curl /health β†’ {"status": "healthy"}
  • Docker image builds and runs locally
  • Pushed to HF Spaces via openenv push
  • GRPO training runs end-to-end
  • Fine-tuned model pushed to HF Hub
  • Evaluation metrics recorded