File size: 2,826 Bytes
f619d4c
 
 
 
 
 
 
 
 
 
 
 
 
 
12d1907
 
 
 
 
 
 
 
 
8eba78d
12d1907
 
 
 
 
 
bca2b27
12d1907
 
 
 
 
 
 
 
 
 
 
 
 
bf34481
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12d1907
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bf34481
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147

---
title: Customer Support OpenEnv Environment
emoji: 🤖
colorFrom: blue
colorTo: green
sdk: docker
tags:
  - openenv
  - reinforcement-learning
  - llm
  - customer-support
---

description: >
  A goal-oriented customer support environment where an agent must gather
  required information from the user and resolve the ticket efficiently.

version: 1.0

# =========================
# ENTRYPOINT
# =========================
entry_point: server.app:app

# =========================
# INTERFACE
# =========================
interfaces:
  - type: http
    port: 7860
    routes:
      reset: /reset
      step: /step

# =========================
# ENVIRONMENT LIMITS
# =========================
max_steps: 10

reward_range:
  min: -1.0
  max: 2.0

# =========================
# TASKS + GRADERS
# =========================
tasks:
  - id: easy-info-collection
    description: Collect at least some relevant information
    difficulty: easy
    grader: graders.grade_easy

  - id: medium-complete-info
    description: Collect all required information efficiently
    difficulty: medium
    grader: graders.grade_medium

  - id: hard-efficient-resolution
    description: Fully resolve ticket with optimal steps
    difficulty: hard
    grader: graders.grade_hard


# =========================
# ACTION SPACE
# =========================
actions:
  - name: ask_info
    description: Request missing information from the user
    parameters:
      field:
        type: string
        enum:
          - order_id
          - account_email
          - device_type
          - browser

  - name: classify
    description: Classify the user issue into a category
    parameters: {}

  - name: resolve
    description: Resolve the ticket if sufficient information is available
    parameters: {}

# =========================
# OBSERVATION SPACE
# =========================
observation_space:
  type: object
  properties:
    ticket_id:
      type: string

    customer_message:
      type: string

    history:
      type: array
      items:
        type: object

    known_info:
      type: object
      additionalProperties: true

    required:
      type: array
      items:
        type: string

    missing_required:
      type: array
      items:
        type: string

    info_progress:
      type: number

    status:
      type: string
      enum: [open, resolved]

    step_count:
      type: integer

    remaining_steps:
      type: integer

# =========================
# TERMINATION CONDITIONS
# =========================
termination:
  success:
    description: Ticket resolved with all required information collected
  failure:
    description: Max steps reached without resolution

# =========================
# METADATA
# =========================
tags:
  - customer-support
  - goal-oriented
  - information-gathering