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)
| # | Tutorial |
|---|---------|
| 1 | [01-environments.md](https://github.com/meta-pytorch/OpenEnv/blob/main/tutorial/01-environments.md) |
| 2 | [02-deployment.md](https://github.com/meta-pytorch/OpenEnv/blob/main/tutorial/02-deployment.md) |
| 3 | [03-scaling.md](https://github.com/meta-pytorch/OpenEnv/blob/main/tutorial/03-scaling.md) |
| 4 | [04-training.md](https://github.com/meta-pytorch/OpenEnv/blob/main/tutorial/04-training.md) |
---
## πŸš€ 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