Spaces:
Runtime error
Runtime error
Ajey95
commited on
Commit
·
8d8627f
1
Parent(s):
fc88e67
Fix: chat_history addition
Browse files- agents/router_agent.py +7 -16
agents/router_agent.py
CHANGED
|
@@ -1,5 +1,3 @@
|
|
| 1 |
-
# agents/router_agent.py
|
| 2 |
-
|
| 3 |
import re
|
| 4 |
from .academic_agent import AcademicAgent
|
| 5 |
from .drug_info_agent import DrugInfoAgent
|
|
@@ -9,9 +7,6 @@ from .viva_agent import VivaAgent
|
|
| 9 |
|
| 10 |
class RouterAgent:
|
| 11 |
def __init__(self, gemini_model=None):
|
| 12 |
-
"""
|
| 13 |
-
Initializes the router and all specialist agents.
|
| 14 |
-
"""
|
| 15 |
self.academic_agent = AcademicAgent(gemini_model)
|
| 16 |
self.drug_info_agent = DrugInfoAgent(gemini_model)
|
| 17 |
self.mnemonic_agent = MnemonicAgent(gemini_model)
|
|
@@ -20,14 +15,13 @@ class RouterAgent:
|
|
| 20 |
|
| 21 |
def route_query(self, query: str, file_context: str, viva_state: dict, chat_history: list):
|
| 22 |
"""
|
| 23 |
-
Determines
|
| 24 |
-
context
|
|
|
|
| 25 |
"""
|
| 26 |
query_lower = query.lower()
|
| 27 |
|
| 28 |
-
#
|
| 29 |
-
|
| 30 |
-
# 1. Viva Agent (High priority for session commands)
|
| 31 |
if viva_state and viva_state.get('active'):
|
| 32 |
return self.viva_agent.process_query(query, file_context, viva_state)
|
| 33 |
if any(cmd in query_lower for cmd in ["viva", "interview", "start viva"]):
|
|
@@ -42,11 +36,8 @@ class RouterAgent:
|
|
| 42 |
return self.quiz_agent.process_query(query, file_context, chat_history)
|
| 43 |
|
| 44 |
# 4. Drug Info Agent
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
if any(cmd in query_lower for cmd in drug_keywords) or re.search(specific_drugs, query_lower):
|
| 49 |
-
return self.drug_info_agent.process_query(query, file_context, chat_history)
|
| 50 |
|
| 51 |
-
# 5. Default to Academic Agent
|
| 52 |
return self.academic_agent.process_query(query, file_context, chat_history)
|
|
|
|
|
|
|
|
|
|
| 1 |
import re
|
| 2 |
from .academic_agent import AcademicAgent
|
| 3 |
from .drug_info_agent import DrugInfoAgent
|
|
|
|
| 7 |
|
| 8 |
class RouterAgent:
|
| 9 |
def __init__(self, gemini_model=None):
|
|
|
|
|
|
|
|
|
|
| 10 |
self.academic_agent = AcademicAgent(gemini_model)
|
| 11 |
self.drug_info_agent = DrugInfoAgent(gemini_model)
|
| 12 |
self.mnemonic_agent = MnemonicAgent(gemini_model)
|
|
|
|
| 15 |
|
| 16 |
def route_query(self, query: str, file_context: str, viva_state: dict, chat_history: list):
|
| 17 |
"""
|
| 18 |
+
Determines user intent and correctly routes the query with all
|
| 19 |
+
necessary context (file_context, chat_history, etc.) to the
|
| 20 |
+
correct specialist agent.
|
| 21 |
"""
|
| 22 |
query_lower = query.lower()
|
| 23 |
|
| 24 |
+
# 1. Viva Agent (High priority)
|
|
|
|
|
|
|
| 25 |
if viva_state and viva_state.get('active'):
|
| 26 |
return self.viva_agent.process_query(query, file_context, viva_state)
|
| 27 |
if any(cmd in query_lower for cmd in ["viva", "interview", "start viva"]):
|
|
|
|
| 36 |
return self.quiz_agent.process_query(query, file_context, chat_history)
|
| 37 |
|
| 38 |
# 4. Drug Info Agent
|
| 39 |
+
if any(cmd in query_lower for cmd in ["drug", "medicine", "medication", "side effect", "dosage"]):
|
| 40 |
+
return self.drug_info_agent.process_query(query, file_context, chat_history)
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
+
# 5. Default to Academic Agent
|
| 43 |
return self.academic_agent.process_query(query, file_context, chat_history)
|