Shaukat39 commited on
Commit
80daa14
·
verified ·
1 Parent(s): 5be40a0

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +17 -3
agent.py CHANGED
@@ -14,6 +14,7 @@ from langchain_core.tools import tool
14
  from langchain.tools.retriever import create_retriever_tool
15
  from supabase.client import create_client
16
  import re
 
17
 
18
  load_dotenv()
19
 
@@ -211,11 +212,21 @@ def build_graph(provider: str = "groq"):
211
  ]
212
  return {"messages": state["messages"] + examples}
213
 
 
 
214
  def assistant(state: MessagesState):
215
  try:
216
  messages = [SystemMessage(content=system_prompt.strip())] + state["messages"]
217
  result = llm_with_tools.invoke(messages)
218
- raw_output = result.content.strip()
 
 
 
 
 
 
 
 
219
  print("🤖 Raw LLM output:", repr(raw_output))
220
 
221
  match = re.search(r"FINAL ANSWER:\s*(.+)", raw_output, re.IGNORECASE)
@@ -226,9 +237,12 @@ def build_graph(provider: str = "groq"):
226
  final_output = f"FINAL ANSWER: {raw_output or 'Unable to determine answer'}"
227
 
228
  return {"messages": [HumanMessage(content=final_output)]}
 
229
  except Exception as e:
230
- print(f"🔥 Error in assistant node: {e}")
231
- return {"messages": [HumanMessage(content=f"FINAL ANSWER: AGENT ERROR: {e}")]}
 
 
232
 
233
  builder = StateGraph(MessagesState)
234
  builder.add_node("retriever", retriever)
 
14
  from langchain.tools.retriever import create_retriever_tool
15
  from supabase.client import create_client
16
  import re
17
+ import traceback
18
 
19
  load_dotenv()
20
 
 
212
  ]
213
  return {"messages": state["messages"] + examples}
214
 
215
+
216
+
217
  def assistant(state: MessagesState):
218
  try:
219
  messages = [SystemMessage(content=system_prompt.strip())] + state["messages"]
220
  result = llm_with_tools.invoke(messages)
221
+
222
+ # Handle different return types gracefully
223
+ if hasattr(result, "content"):
224
+ raw_output = result.content.strip()
225
+ elif isinstance(result, dict) and "content" in result:
226
+ raw_output = result["content"].strip()
227
+ else:
228
+ raise ValueError(f"Unexpected result format: {repr(result)}")
229
+
230
  print("🤖 Raw LLM output:", repr(raw_output))
231
 
232
  match = re.search(r"FINAL ANSWER:\s*(.+)", raw_output, re.IGNORECASE)
 
237
  final_output = f"FINAL ANSWER: {raw_output or 'Unable to determine answer'}"
238
 
239
  return {"messages": [HumanMessage(content=final_output)]}
240
+
241
  except Exception as e:
242
+ print(f"🔥 Exception: {e}")
243
+ traceback.print_exc()
244
+ return {"messages": [HumanMessage(content=f"FINAL ANSWER: AGENT ERROR: {type(e).__name__}: {e}")]}
245
+
246
 
247
  builder = StateGraph(MessagesState)
248
  builder.add_node("retriever", retriever)