Download openenv.yaml from Tarun21W/MetaAI: direct link, hf CLI and curl.
- Browser
- Download file 3.55 kB
-
https://huggingface.co/spaces/Tarun21W/MetaAI/resolve/main/openenv.yaml
- Command line
-
hf download hf://spaces/Tarun21W/MetaAI/openenv.yaml
-
curl -L -o openenv.yaml https://huggingface.co/spaces/Tarun21W/MetaAI/resolve/main/openenv.yaml
3.55 kB
| environment: | |
| name: customer-support-agent | |
| version: "2.0.0" | |
| description: > | |
| OpenEnv-compliant autonomous customer support environment. | |
| Each episode is a 3-phase Markov Decision Process: Triage -> Route -> Resolve. | |
| An AI agent classifies, assigns, and resolves realistic BPO/customer-support | |
| tickets across e-commerce and SaaS workflows. | |
| Deterministic per-phase reward shaping; observation state evolves each step. | |
| tags: | |
| - openenv | |
| - customer-support | |
| - reinforcement-learning | |
| - multi-step | |
| - bpo | |
| tasks: | |
| - name: easy | |
| description: > | |
| 3-phase MDP with straightforward tickets. Phase 1: classify issue type. | |
| Phase 2: route to correct team. Phase 3: respond or refund. | |
| difficulty: easy | |
| max_steps: 5 | |
| num_scenarios: 10 | |
| grader: openenv.graders.grader.GraderEngine | |
| - name: medium | |
| description: > | |
| 3-phase MDP with moderate complexity. Phase 1: classify. Phase 2: route. | |
| Phase 3: respond, refund, or escalate safety/product defect issues. | |
| difficulty: medium | |
| max_steps: 5 | |
| num_scenarios: 10 | |
| grader: openenv.graders.grader.GraderEngine | |
| - name: hard | |
| description: > | |
| 3-phase MDP with ambiguous, high-stakes tickets. Requires distinguishing | |
| escalate vs refund vs respond with asymmetric business penalties. | |
| difficulty: hard | |
| max_steps: 5 | |
| num_scenarios: 10 | |
| grader: openenv.graders.grader.GraderEngine | |
| observation_space: | |
| type: object | |
| fields: | |
| ticket_id: | |
| type: string | |
| description: "Unique ticket identifier (e.g. TKT-E001)" | |
| issue_type: | |
| type: string | |
| description: "Category of the customer issue. 'unknown' in Phase 1; revealed after classify." | |
| enum: [unknown, shipping, billing, technical, returns, safety, cancellation, complaint, orders, sales] | |
| sentiment: | |
| type: string | |
| description: "Detected customer sentiment" | |
| enum: [positive, neutral, negative, angry] | |
| priority: | |
| type: string | |
| description: "Ticket urgency level" | |
| enum: [low, medium, high, critical] | |
| message: | |
| type: string | |
| description: "The customer's original message text" | |
| history: | |
| type: array | |
| items: | |
| type: string | |
| description: "Phase transition messages and prior agent actions in this episode" | |
| action_space: | |
| type: object | |
| fields: | |
| action_type: | |
| type: string | |
| description: "Primary action to execute" | |
| enum: [classify, assign, respond, refund, escalate] | |
| team: | |
| type: string | |
| nullable: true | |
| description: "Target team (used with assign/escalate actions)" | |
| enum: [logistics_team, tech_support_team, safety_team, finance_team, orders_team, management_team] | |
| response: | |
| type: string | |
| nullable: true | |
| description: > | |
| In Phase 1: the identified issue_type (e.g. 'billing'). | |
| In Phase 3: customer-facing response message. | |
| reward: | |
| range: [0.002, 0.998] | |
| phases: | |
| phase_1_triage: | |
| classify_with_correct_issue_type: 0.998 | |
| classify_only: 0.55 | |
| wrong_action: 0.002 | |
| phase_2_route: | |
| correct_team: 0.998 | |
| wrong_team: 0.400 | |
| wrong_action: 0.002 | |
| phase_3_resolve: | |
| description: "Proportional quality score: action_type (0.3) + team (0.3) + keyword coverage (0.4)" | |
| range: [0.002, 0.998] | |
| penalties: | |
| unnecessary_refund: -0.50 | |
| unnecessary_escalation: -0.30 | |
| wrong_team: -0.15 | |
| excessive_steps: -0.10 per step beyond 3 | |
| episode_score: "mean(phase_1_reward, phase_2_reward, phase_3_reward) clamped to [0.002, 0.998]" |