Spaces:
Sleeping
Sleeping
| from gaia_agent.graph import build_graph | |
| from gaia_agent.observability import trace_agent_run | |
| class GaiaAgent: | |
| def __init__(self, llm=None): | |
| self.llm = llm | |
| print("GaiaAgent initialized.") | |
| def __call__( | |
| self, | |
| question: str, | |
| *, | |
| session_id: str | None = None, | |
| user_id: str | None = None, | |
| task_id: str | None = None, | |
| file_name: str | None = None, | |
| file_path: str | None = None, | |
| level: str | None = None, | |
| ) -> str: | |
| print(f"Agent received question (first 80 chars): {question[:80]}...") | |
| with trace_agent_run( | |
| question, | |
| session_id=session_id, | |
| user_id=user_id, | |
| task_id=task_id, | |
| ) as trace: | |
| graph = build_graph(trace=trace, llm=self.llm) | |
| initial_state = { | |
| "question": question, | |
| "task_id": task_id or "", | |
| "file_name": file_name or "", | |
| "level": level or "", | |
| } | |
| if file_path: | |
| initial_state["file_path"] = file_path | |
| result = graph.invoke(initial_state) | |
| final_answer = result["final_answer"] | |
| print(f"Agent returning answer: {final_answer}") | |
| return final_answer | |