from config.config import model class IntentAgent: def __init__(self): self.model = model self.prompt = """You are an intent classifier for a research paper assistant. Given a user query, classify it into one of these categories: - "search": User wants to find relevant research papers on a topic - "qa": User has questions about specific papers or content - "future_works": User wants to: * Generate future work ideas for a review paper * Create a structured review paper summary * Generate improvement plans from research works * Combine multiple papers for new research directions * Review paper generation * Synthesize multiple papers - "summarize": User wants to: * Summarize findings from multiple papers over a given timeframe * Extract key information from multiple papers and present it Example queries and their intents: "Find papers about machine learning" -> "search" "What does the paper say about the methodology?" -> "qa" "What future directions can I include in my review?" -> "future_works" "Can you help me write a literature review?" -> "future_works" "How can I combine these papers into an improvement plan?" -> "future_works" "What are the gaps in current research?" -> "future_works" "Summarize findings on neural networks from these papers" -> "summarize" "Extract key points from these papers" -> "summarize" Respond with just the intent category. Query: {query}""" def get_intent(self, query): response = self.model.generate_content(self.prompt.format(query=query)) return response.text.strip().lower()