# Wrifrom abc import ABC, abstractmethod

# -----------------------------
# Base Agent
# -----------------------------
class Agent(ABC):
    @abstractmethod
        def process(self, query):
                pass
                
                
                # -----------------------------
                # Specialized Agents
                # -----------------------------
                class AdmissionAgent(Agent):
                    def process(self, query):
                            return "Admission Agent: Admission starts in June. Required documents are 10th, 12th mark sheets and ID proof."
                            
                            
                            class ExamAgent(Agent):
                                def process(self, query):
                                        return "Exam Agent: Semester exams begin in December. Exam timetable will be announced on the portal."
                                        
                                        
                                        class FeesAgent(Agent):
                                            def process(self, query):
                                                    return "Fees Agent: The annual tuition fee is ₹50,000. Fees can be paid online or at the accounts office."
                                                    
                                                    
                                                    class ScholarshipAgent(Agent):
                                                        def process(self, query):
                                                                return "Scholarship Agent: Scholarships are available based on merit and family income."
                                                                
                                                                
                                                                # -----------------------------
                                                                # Intent Classifier
                                                                # -----------------------------
                                                                class IntentClassifier:
                                                                
                                                                    def classify(self, query):
                                                                            query = query.lower()
                                                                            
                                                                                    if any(word in query for word in
                                                                                                   ["admission", "admit", "apply", "eligibility"]):
                                                                                                               return "admission"
                                                                                                               
                                                                                                                       elif any(word in query for word in
                                                                                                                                        ["exam", "test", "result", "hall ticket"]):
                                                                                                                                                    return "exam"
                                                                                                                                                    
                                                                                                                                                            elif any(word in query for word in
                                                                                                                                                                             ["fee", "fees", "payment", "tuition"]):
                                                                                                                                                                                         return "fees"
                                                                                                                                                                                         
                                                                                                                                                                                                 elif any(word in query for word in
                                                                                                                                                                                                                  ["scholarship", "financial aid", "grant"]):
                                                                                                                                                                                                                              return "scholarship"
                                                                                                                                                                                                                              
                                                                                                                                                                                                                                      else:
                                                                                                                                                                                                                                                  return "unknown"
                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                  # -----------------------------
                                                                                                                                                                                                                                                  # Response Agent
                                                                                                                                                                                                                                                  # -----------------------------
                                                                                                                                                                                                                                                  class ResponseAgent:
                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                      def __init__(self):
                                                                                                                                                                                                                                                              self.agents = {
                                                                                                                                                                                                                                                                          "admission": AdmissionAgent(),
                                                                                                                                                                                                                                                                                      "exam": ExamAgent(),
                                                                                                                                                                                                                                                                                                  "fees": FeesAgent(),
                                                                                                                                                                                                                                                                                                              "scholarship": ScholarshipAgent()
                                                                                                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                          def respond(self, intent, query):
                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                                  if intent in self.agents:
                                                                                                                                                                                                                                                                                                                                              return self.agents[intent].process(query)
                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                      return "Sorry, I couldn't understand your request."
                                                                                                                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                                                      # -----------------------------
                                                                                                                                                                                                                                                                                                                                                      # Main AI Agent System
                                                                                                                                                                                                                                                                                                                                                      # -----------------------------
                                                                                                                                                                                                                                                                                                                                                      class CollegeAIAgent:
                                                                                                                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                                                          def __init__(self):
                                                                                                                                                                                                                                                                                                                                                                  self.classifier = IntentClassifier()
                                                                                                                                                                                                                                                                                                                                                                          self.response_agent = ResponseAgent()
                                                                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                                                                              def chat(self, query):
                                                                                                                                                                                                                                                                                                                                                                                      intent = self.classifier.classify(query)
                                                                                                                                                                                                                                                                                                                                                                                              print(f"Detected Intent: {intent}")
                                                                                                                                                                                                                                                                                                                                                                                                      response = self.response_agent.respond(intent, query)
                                                                                                                                                                                                                                                                                                                                                                                                              return response
                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                              # -----------------------------
                                                                                                                                                                                                                                                                                                                                                                                                              # Run Program
                                                                                                                                                                                                                                                                                                                                                                                                              # -----------------------------
                                                                                                                                                                                                                                                                                                                                                                                                              if __name__ == "__main__":
                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                  bot = CollegeAIAgent()
                                                                                                                                                                                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                                                                                                                                                                                      print("===== College AI Agent =====")
                                                                                                                                                                                                                                                                                                                                                                                                                          print("Type 'exit' to quit.\n")
                                                                                                                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                                                                                                                              while True:
                                                                                                                                                                                                                                                                                                                                                                                                                                      user_input = input("You: ")
                                                                                                                                                                                                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                                                                                                                                              if user_input.lower() == "exit":
                                                                                                                                                                                                                                                                                                                                                                                                                                                          print("Bot: Thank you!")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      break
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              reply = bot.chat(user_input)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      print("Bot:", reply)te your Python code here
print("Hello, Excelrs!")