Building AI Agents with LangGraph
Student submission
def greet():
print("Hi")
print("This is an AI Agent Workshop")
def takeInput():
userInput = input("Enter your symptom: ")
print("You entered:", userInput)
return userInput
class ChatGpt_LLM:
def __init__(self, model_name):
self.model_name = model_name
def generateResponse(self, prompt):
prompt = prompt.lower()
if "cough" in prompt:
return "Take cough medicine and rest."
elif "fever" in prompt:
return "Visit a doctor if the fever persists."
elif "headache" in prompt:
return "Stay hydrated and take proper rest."
else:
return "You are thinking too much!"
class Gemini_LLM:
def __init__(self, model_name):
self.model_name = model_name
def generateResponse(self, prompt):
return "This is a dummy response from " + self.model_name
class Practo_Tool:
def __init__(self, name):
self.name = name
def useTool(self, user_input):
print("Using tool:", self.name)
print("Booking doctor consultation for:", user_input)
class Agent:
def __init__(self, name):
self.name = name
def giveAdvice(self, symptom):
if symptom.lower() == "cough":
print("Take XYZ medicine")
elif symptom.lower() == "fever":
print("Visit a doctor")
else:
print("You are thinking too much!")
class AgentWithTool:
def __init__(self, name, llm, tool):
self.name = name
self.llm = llm
self.tool = tool
def giveAdvice(self, symptom):
response = self.llm.generateResponse(
"Provide advice for the symptom: " + symptom
)
print("Advice for", symptom + ":", response)
def takeAction(self, user_input):
self.tool.useTool(user_input)
def giveAdviceAndTakeAction(self, symptom):
self.giveAdvice(symptom)
self.takeAction(symptom)
class AutoAgent:
def __init__(self, name, llm, tool):
self.name = name
self.llm = llm
self.tool = tool
def decideToUseTool(self, response):
if "doctor" in response.lower():
return True
return False
def execute(self, symptom):
response = self.llm.generateResponse(
"Provide advice for the symptom: " + symptom
)
print("\nAdvice for", symptom + ":", response)
if self.decideToUseTool(response):
print("Decision: Tool required.")
self.tool.useTool(symptom)
else:
print("Decision: No tool required.")
greet()
name = "Ramesh"
age = 30
symptomList = [
{
"name": "Cough",
"severity": "mild",
"duration": "2 days",
"priority": 1
},
{
"name": "Fever",
"severity": "high",
"duration": "3 days",
"priority": 2
}
]
print("\nPatient Name:", name)
print("Age:", age)
llm = ChatGpt_LLM("gpt-4")
tool = Practo_Tool("Practo")
agent = AutoAgent("HealthAgent", llm, tool)
print("\n----- Symptom Analysis -----")
for symptom in symptomList:
print("\nSymptom Details:", symptom)
agent.execute(symptom["name"])