CoolFace
Apppublic

KingHero121/dataforge-env

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
openenv.yaml96 linesDownload Raw Back to root
1name: DataForge-Env2description: >3  A production-grade OpenEnv environment for evaluating LLM-based agents4  on data cleaning, validation, and multi-table reconciliation tasks.5  Agents must reason over schema mismatches, missing values, duplicates,6  type errors, and business-logic constraints to produce clean datasets.7 8version: "1.0.0"9 10tasks:11  - id: easy12    name: "The Untidy Retailer"13    description: >14      Clean a 1000-row customers dataset: fill 15% missing emails,15      remove 5% duplicate rows, trim whitespace from name column.16    max_steps: 1517    difficulty: easy18    graders:19      - grade_easy20 21  - id: medium22    name: "Financial Anomaly"23    description: >24      Clean a transactions dataset: cast dollar-formatted Amount to float,25      unify mixed date formats, cap outlier amounts beyond 10 std-devs.26    max_steps: 2027    difficulty: medium28    graders:29      - grade_medium30 31  - id: hard32    name: "Supply Chain Reconciliation"33    description: >34      Reconcile inventory_logs and warehouse_master: normalize SKU keys,35      left-join tables, compute inventory_value, enforce non-negative stock.36    max_steps: 2537    difficulty: hard38    graders:39      - grade_hard40 41action_space:42  type: structured43  actions:44    - action_type: fill_missing45      params:46        column: string47        strategy: "mean | median | mode | constant | drop"48        fill_value: any (optional, required when strategy=constant)49    - action_type: drop_duplicates50      params:51        subset: list[string] (optional)52    - action_type: cast_type53      params:54        column: string55        target_dtype: "int | float | str | datetime"56    - action_type: normalize57      params:58        column: string59        method: "trim | lower | upper | strip_currency | unify_date"60    - action_type: join61      params:62        right_table: string63        left_on: string64        right_on: string65        how: "left | inner | right | outer"66    - action_type: validate67      params: {}68 69observation_space:70  type: structured71  fields:72    dataset_preview: "List[Dict] – top 5 rows of the current dataframe"73    schema_info: "Dict[column_name, ColumnStats] – dtype, null_count, unique_count, mean, outliers_detected"74    validation_errors: "List[str] – current integrity violations"75    action_history: "List[str] – actions taken so far"76    current_step: int77    max_steps: int78    progress_score: "float [0-1] – current cleanliness score"79    dataset_size: int80    progress_delta: float81 82reward:83  type: dense84  range: [0.01, 0.99]85  deterministic: true86  formula: >87    R = 0.3*C_schema + 0.2*C_nulls + 0.1*C_dupes + 0.4*C_logic - 0.01*step_penalty88 89server:90  entrypoint: server/app.py91  endpoints:92    - path: /reset93      method: POST94    - path: /step95      method: POST96