parthib07's picture
Upload 6 files
065cda0 verified
from autogen import AssistantAgent
import os
from dotenv import load_dotenv
load_dotenv()
GROQ_API_KEY = os.getenv("GROQ_API_KEY")
os.environ['GROQ_API_KEY'] = GROQ_API_KEY
class ResearchAgents:
def __init__(self, api_key):
self.groq_api_key = api_key
self.llm_config = {'config_list': [{'model': 'llama-3.3-70b-versatile', 'api_key': self.groq_api_key, 'api_type': "groq"}]}
self.summarizer_agent = AssistantAgent(
name="summarizer_agent",
system_message="Summarize the retrieved research papers and present concise summaries to the user, JUST GIVE THE RELEVANT SUMMARIES OF THE RESEARCH PAPER AND NOT YOUR THOUGHT PROCESS.",
llm_config=self.llm_config,
human_input_mode="NEVER",
code_execution_config=False
)
self.advantages_disadvantages_agent = AssistantAgent(
name="advantages_disadvantages_agent",
system_message="Analyze the summaries of the research papers and provide a list of advantages and disadvantages for each paper in a pointwise format. JUST GIVE THE ADVANTAGES AND DISADVANTAGES, NOT YOUR THOUGHT PROCESS",
llm_config=self.llm_config,
human_input_mode="NEVER",
code_execution_config=False
)
def summarize_paper(self, paper_summary):
"""Generates a summary of the research paper."""
summary_response = self.summarizer_agent.generate_reply(
messages=[{"role": "user", "content": f"Summarize this paper: {paper_summary}"}]
)
return summary_response.get("content", "Summarization failed!") if isinstance(summary_response, dict) else str(summary_response)
def analyze_advantages_disadvantages(self, summary):
"""Generates advantages and disadvantages of the research paper."""
adv_dis_response = self.advantages_disadvantages_agent.generate_reply(
messages=[{"role": "user", "content": f"Provide advantages and disadvantages for this paper: {summary}"}]
)
return adv_dis_response.get("content", "Advantages and disadvantages analysis failed!")