rag-application / response_validation.py
srijan9994's picture
deploying project
6f3d6fd
from enum import Enum
from pydantic import BaseModel, Field
from typing import List
class TicketCategory(str, Enum):
NETWORK = "network"
SOFTWARE = "software"
ACCOUNT = "account"
TRAINING = "training"
SECURITY = "security"
LICENSING = "licensing"
COMMUNICATION = ("communication",)
REMOTEWORK = ("remote work",)
HARDWARE = ("hardware",)
INFRASTRUCTURE = ("infrastructure",)
PERFORMACE = ("performance",)
GENERAL = "general"
class CustomerSentiment(str, Enum):
ANGRY = "angry"
FRUSTRATED = "frustrated"
NEUTRAL = "neutral"
SATISFIED = "satisfied"
class TicketUrgency(str, Enum):
LOW = "low"
MEDIUM = "medium"
HIGH = "high"
CRITICAL = "critical"
class TicketClassification(BaseModel):
category: TicketCategory
urgency: TicketUrgency
sentiment: CustomerSentiment
confidence: float = Field(
ge=0, le=1, description="Confidence score for the classification"
)
key_information: List[str] = Field(
description="List of key points extracted from the ticket"
)
suggested_action: str = Field(
description="Brief suggestion for handling the ticket"
)