Sarathrsk03's picture
Upload 8 files
d21bdd3 verified
from llmConnect import managerAgent, vectorDBAgent, searchAgent, sqlAgent, answerAgent
from json import loads
def generateAnswer(question:str) -> str:
managerResponse: list= managerAgent(question)
managerResponse.sort(key=lambda x: x['agent'])
#print(managerResponse)
context = ""
agentsResponseCummalative =[{"Question to be answered":question}]
for i in managerResponse:
if i['agent'] == 'vectorDBAgent':
if len(context) == 0:
context = "No context Required"
prompt = f"""
context -> {context}
question -> {i['question']}
"""
agentResponse = vectorDBAgent(prompt)
context += " " + str(agentResponse)
agentsResponseCummalative.append({"agent":"vectorDBAgent","prompt":prompt,"answer":agentResponse})
elif i['agent'] == 'searchAgent':
prompt = f"""
context -> {context}
question -> {i['question']}
"""
agentResponse = searchAgent(prompt)
context += " " + str(agentResponse)
agentsResponseCummalative.append({"agent":"searchAgent","prompt":prompt,"answer":agentResponse})
elif i['agent'] == 'sqlAgent':
prompt = f"""{i['question']}
"""
agentResponse: dict = sqlAgent(prompt)
context += " " + str(agentResponse)
agentsResponseCummalative.append({"agent":"sqlAgent","prompt":prompt,"answer":agentResponse})
else:
agentsResponseCummalative.append(i)
for i in agentsResponseCummalative:
print(i)
print("\n")
print("."*100)
print("\n")
return answerAgent(str(agentsResponseCummalative))
if __name__ == "__main__":
question = "What is the highest score of MS Dhoni in the IPL"
print(generateAnswer(question))
#if "requestingAgent" in agentResponse.keys():
#if agentResponse["requestingAgent"] == "searchAgent":
#ans = vectorDBAgent(agentResponse["question"])
#newPrompt = f"""
#context -> {agentResponse["question"]} + " " + {ans}
#question -> {question}
#"""
#agentResponse = loads(sqlAgent(newPrompt))
#print(agentResponse)
#if "requestingAgent" in agentResponse.keys():
#if agentResponse["requestingAgent"] == "searchAgent":
#ans = vectorDBAgent(agentResponse["question"])
#newPrompt = f"""
#context -> {agentResponse["question"]} + " " + {ans}
#question -> {question}
#"""
#agentResponse = loads(sqlAgent(newPrompt))
#print(agentResponse)