Spaces:
Sleeping
Sleeping
File size: 2,175 Bytes
30944a6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
from langgraph.prebuilt import create_react_agent
from prompts import *
from tools import *
from langgraph_supervisor import create_supervisor
from langchain.chat_models import init_chat_model
import glob
class Agent:
def __init__(self):
print("Initializing Agent....")
print("--> Audio Agent")
self.audio_agent = create_react_agent(
model="openai:gpt-4o-mini", # gpt-4o-mini-2024-07-18
tools=[extract_text_from_url_tool, extract_text_from_file_tool],
prompt= AUDIO_AGENT_PROMPT,
name="audio_agent",
)
print("--> Web Search Agent")
self.web_search_agent = create_react_agent(
model="openai:gpt-4o-mini", # gpt-4o-mini-2024-07-18
tools=[search_web_tool],
prompt= WEB_SEARCH_AGENT_PROMPT,
name="web_research_agent",
)
print("--> Supervisor")
self.supervisor = create_supervisor(
model=init_chat_model("openai:gpt-4o-mini"),
agents=[self.web_search_agent, self.audio_agent],
tools=[bird_video_count_tool,chess_image_to_fen_tool,chess_fen_get_best_next_move_tool,
get_excel_columns_tool, calculate_excel_sum_by_columns_tool,execute_python_code_tool,
text_inverter_tool, check_table_commutativity_tool],
prompt= SUPERVISOR_PROMPT,
add_handoff_back_messages=True,
output_mode="full_history",
).compile()
print("Agent initialized.")
def _exist_file_with_task_id(task_id: str) -> str:
padrao = os.path.join(AGENTS_FILES_PATH, f"{task_id}.*")
arquivos_encontrados = glob.glob(padrao)
return arquivos_encontrados[0] if arquivos_encontrados else None
def __call__(self, question: str, task_id: str) -> str:
print(f"Agent received question (first 50 chars): {question[:50]}...")
file = self._exist_file_with_task_id(task_id)
fixed_answer = "This is a default answer."
print(f"Agent returning fixed answer: {fixed_answer}")
return fixed_answer |