CoolFace
Apppublic

DGXAI/driftcall

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
0likes
README.md85 linesDownload Raw Back to root
1---2title: DriftCall3emoji: ๐ŸŒ€4colorFrom: indigo5colorTo: pink6sdk: docker7pinned: true8license: apache-2.09short_description: OpenEnv env + site ยท canonical /reset ยท one Space10tags:11  - openenv12  - rl13  - voice14  - indic15  - schema-drift16  - grpo17  - gemma-3n18---19 20# DriftCall โ€” Unified Space21 22One HF Space serving the OpenEnv-compliant DriftCall env **and** the23project site, both under the same hostname. OpenEnv routes are at the24canonical bare paths (no `/api` prefix), so the registry and the gym25client see this Space exactly as it sees the dedicated env Space.26 27## URL surface28 29| Path             | Method   | What it does |30|------------------|----------|--------------|31| `/`              | `GET`    | static project site (Vite-built React + pretext) |32| `/assets/*`      | `GET`    | site bundle (CSS, JS, fonts) |33| `/healthz`       | `GET`    | OpenEnv health probe (`text/plain "ok"`) |34| `/reset`         | `POST`   | OpenEnv reset (bearer auth + X-Session-Id) |35| `/step`          | `POST`   | OpenEnv step |36| `/state`         | `GET`    | OpenEnv read-only state |37| `/close`         | `POST`   | OpenEnv close session |38| `/openenv.yaml`  | `GET`    | the manifest (served from disk) |39| `/demo`          | `GET`    | 302 โ†’ dedicated Gradio demo Space |40 41The OpenEnv routes do not collide with the static frontend because42they are HTTP verb-specific (`POST /reset`, `POST /step`, `POST /close`,43plus `GET /healthz` and `GET /state`) โ€” Vite-emitted assets live under44`/assets/*` and never overlap.45 46## Why both, not separate?47 48The dedicated env Space (`DGXAI/driftcall-env`) and project site49(`DGXAI/driftcall-site`) still exist as canonical, isolated artefacts.50This Space is an **additive** convenience for hackathon judging:51land at one URL and you see the project, can hit the reward function52endpoint, and get redirected to the demo. The Gradio demo stays53separate because it's GPU-heavy and benefits from its own scaling.54 55## What's bundled56 57Self-contained โ€” the build dir for this Space contains everything it58needs to run, with no references to anything outside it:59 60```61unified_space/build/62โ”œโ”€โ”€ app.py              โ† canonical OpenEnv FastAPI (verbatim copy)63โ”œโ”€โ”€ unified_app.py      โ† extends app.py + adds static mount + /demo redirect64โ”œโ”€โ”€ openenv.yaml        โ† OpenEnv v1.0 manifest65โ”œโ”€โ”€ requirements.txt    โ† runtime deps (no training stack)66โ”œโ”€โ”€ Dockerfile          โ† multi-stage CPU image, Kokoro + faster-whisper baked67โ”œโ”€โ”€ cells/              โ† DriftCallEnv + 5 reward components + drift + audio68โ”œโ”€โ”€ data/               โ† briefs, drift patterns, API schemas69โ””โ”€โ”€ site/               โ† Vite-built React dist (frontend)70```71 72Build + push with `bash deploy/unified_space/build.sh --push` from the73repo root.74 75## OpenEnv compliance76 77- Manifest: served at `/openenv.yaml`78- Endpoints: bare-path canonical (`/reset`, `/step`, `/state`, `/close`, `/healthz`)79- Auth: bearer (`DRIFTCALL_ENV_TOKEN`) + `X-Session-Id` header on mutating calls80- Action / Observation refs: `cells.step_04_models:DriftCallAction` /81  `cells.step_04_models:DriftCallObservation`82- Reward: 5 components (R1..R5) with weights, calibration via Brier +83  uncertain floor โ€” see `cells/step_08_rewards.py` and the openenv.yaml84  reward block.85