Spaces:
Running
Running
from agents import DeepResearchAgent,ReviewAgent,get_llms | |
import asyncio | |
import json | |
import argparse | |
if __name__ == '__main__': | |
argparser = argparse.ArgumentParser() | |
argparser.add_argument("--topic",type=str,help="research topic",default="Using diffusion to generate urban road layout map") | |
argparser.add_argument("--anchor_paper_path",type=str,help="PDF path of the anchor paper",default= None) | |
argparser.add_argument("--save_file",type=str,default="saves/",help="save file path") | |
argparser.add_argument("--improve_cnt",type=int,default= 1,help="experiment refine count") | |
argparser.add_argument("--max_chain_length t",type=int,default=5,help="max chain length") | |
argparser.add_argument("--min_chain_length",type=int,default=3,help="min chain length") | |
argparser.add_argument("--max_chain_numbers",type=int,default=1,help="max chain numbers") | |
args = argparser.parse_args() | |
main_llm , cheap_llm = get_llms() | |
topic = args.topic | |
anchor_paper_path = args.anchor_paper_path | |
review_agent = ReviewAgent(save_file=args.save_file,llm=main_llm,cheap_llm=cheap_llm) | |
deep_research_agent = DeepResearchAgent(llm=main_llm,cheap_llm=cheap_llm,**vars(args)) | |
print(f"begin to generate idea and experiment of topic {topic}") | |
idea,related_experiments,entities,idea_chain,ideas,trend,future,human,year= asyncio.run(deep_research_agent.generate_idea_with_chain(topic,anchor_paper_path)) | |
experiment = asyncio.run(deep_research_agent.generate_experiment(idea,related_experiments,entities)) | |
for i in range(args.improve_cnt): | |
experiment = asyncio.run(deep_research_agent.improve_experiment(review_agent,idea,experiment,entities)) | |
print(f"succeed to generate idea and experiment of topic {topic}") | |
res = {"idea":idea,"experiment":experiment,"related_experiments":related_experiments,"entities":entities,"idea_chain":idea_chain,"ideas":ideas,"trend":trend,"future":future,"year":year,"human":human} | |
with open("result.json","w") as f: | |
json.dump(res,f) |