Spaces:
Sleeping
Sleeping
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)
|