Skip to content

EgoSocial

Two-turn OpenEnv benchmark and training environment for egocentric social interaction, built on EgoNormia with benchmark replay and GRPO support for Cosmos-Reason2 policies.

Core trick

Two-turn episodes feed prev and during egocentric video clips to a Cosmos-Reason2 policy, scored against EgoNormia's benchmark replay.

Tags

Description

Two-turn OpenEnv benchmark and training environment for egocentric social interaction, built on EgoNormia with benchmark replay and GRPO support for Cosmos-Reason2 policies.
Robert54/egosocial_env★ 00 forksPythonCreated Mar 8, 2026 · last push Mar 8, 2026

README excerpt

---
title: Egosocial Env
emoji: 🎬
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
app_port: 8000
base_path: /web
tags:
  - openenv
  - social
  - rl
---

# Egosocial Env

Minimal OpenEnv project for the README's main idea: a two-turn social interaction environment with `prev` and `during` observations.

When local `EgoNormia` assets are present under `data/egonormia/`, the environment loads the real parquet metadata plus the matching `video_prev.mp4` / `video_during.mp4` clips. If those assets are missing, it falls back to the small synthetic fixture file so you can still validate the OpenEnv loop and deployment workflow.

The env now supports two transition modes:

- `benchmark`: replay the fixed `during` clip from EgoNormia for reproducible evaluation.
- `train`: retrieve a norm- and text-matched `during` clip from another local EgoNormia scene as an action-conditioned transition baseline, with a stub fallback if retrieval is unavailable.

Train mode can also prefer a configured world-model adapter before retrieval:

- `EGOSOCIAL_WORLD_MODEL_PROVIDER=mock`: exercise the generated-video path locally by materializing assets under `/tmp/egosocial_env/generated/`.
- `EGOSOCIAL_WORLD_MODEL_PROVIDER=cosmos`: call a local Cosmos Predict 2.5 checkout via `examples/inference.py` and use Video2World for the first-turn transition.
- Any other real provider should be wired behind `world_model.py` while keeping the same transition contract.

## Local Setup

```bash
cd /root/ope

Team