jampuramprem commited on
Commit
49d34d1
·
1 Parent(s): beae295

Added the models pertaining to the environement

Browse files
Files changed (1) hide show
  1. models.py +68 -0
models.py ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pydantic import BaseModel
2
+ from typing import Optional, List, Dict, Any
3
+ from enum import Enum
4
+
5
+
6
+ class ActionType(str, Enum):
7
+ CLASSIFY = "classify"
8
+ RESPOND = "respond"
9
+ ESCALATE = "escalate"
10
+ ARCHIVE = "archive"
11
+ SKIP = "skip"
12
+
13
+
14
+ class Category(str, Enum):
15
+ BILLING = "billing"
16
+ TECHINCAL = "technical"
17
+ GENERAL = "general"
18
+ SPAM = "spam"
19
+ ACCOUNT = "account"
20
+ FEATURE_REQUEST = "feature_request"
21
+
22
+
23
+ class Urgency(str, Enum):
24
+ HIGH = "high"
25
+ MEDIUM = "medium"
26
+ LOW = "low"
27
+
28
+
29
+ class Action(BaseModel):
30
+ action_type: ActionType
31
+ category: Optional(Category) = None
32
+ urgency: Optional(Urgency) = None
33
+ response_text: Optional(str) = None
34
+ escalation_reason: Optional(str) = None
35
+ email_id: Optional(str) = None
36
+
37
+
38
+ class Email(BaseModel):
39
+ id: str
40
+ subject: str
41
+ body: str
42
+ sender: str
43
+ sender_tier: str = "standard"
44
+ received_minutes_ago: int = 0
45
+
46
+
47
+ class Observation(BaseModel):
48
+ current_email: Optional(Email) = None
49
+ email_queue: List[Email] = []
50
+ processed_count: int = 0
51
+ step_count: int = 0
52
+ task_id: str = ""
53
+ task_description: str = ""
54
+ available_actions: List[str] = []
55
+ context: Dict[str, Any] = {}
56
+
57
+
58
+ class Reward(BaseModel):
59
+ value: float
60
+ components: Dict[str, float] = {}
61
+ reason: str = ""
62
+
63
+
64
+ class StepResult(BaseModel):
65
+ observation: Observation
66
+ reward: Reward
67
+ done: bool
68
+ info: Dict[str, Any] = {}