from abc import ABC , abstractmethod
class Agent(ABC):
  @abstractmethod
  def process(self,query):
 pass
     class AdmissionAgent(Agent):
 def process(self,query):
 return "Admission Agent: Admission starts in june. Required documents are 10th,12th mark sheet and ID proof"
     class ExamAgent(Agent):
  def process(self,query):
  return "Exam Agent: semster exam begin in December.Exam timetable will be notify soon on the portal"
     class FeesAgent(self,query):
   def process(self,query):
return "Fess Agent: the annual tuition fee is rs 50.000.Fess can be the account office"
    class ScholarshipAgent(self,query):
  def process(self,query):
return "Scholarship Agent: scholarship are avaiable based on merit and family income"
    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","hallticket"]):
  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","grant"]):
 return "scholarship"
  else:
  return "unknown"
    class ResponseAgent:
   def __init__(self):
  self.agents = {
   "admission": AdmissionAgent(),"exam": ExamAgent(),"fees": FeesAgent(), "scholarship": ScholarshipAgent()
   }
    def respond(self,intent,query):
       if intent in self.agent:
 return self.agents[intent].process(query)
 return "sorry,i could't understand your request."
  class collegeAIAgent:
    def __init__(self):
self.classifier = Intentclassifier()
self.response_agent = ResponseAgent()
 
    def chat(self,query):
  intent = self.classifier.classify(query)
  print( f "Detectedb Intent :{Intent}")
  response = self.response_agent.respond(intent,query)
  return response
      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)