i-dhilip commited on
Commit
740269f
·
verified ·
1 Parent(s): 0f5ae9c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -4
app.py CHANGED
@@ -65,8 +65,14 @@ class AdvancedAgent:
65
  builder = StateGraph(MessagesState)
66
  builder.add_node("assistant", assistant)
67
  builder.add_node("tools", tools_node)
 
68
  builder.add_edge("assistant", "tools")
69
  builder.set_entry_point("assistant")
 
 
 
 
 
70
  builder.add_conditional_edges(
71
  "assistant",
72
  tools_condition,
@@ -84,13 +90,19 @@ class AdvancedAgent:
84
  # Initial state must be a dict with "messages" key!
85
  result = self.graph.invoke({"messages": messages})
86
  final_messages = result["messages"]
 
 
87
  ai_messages = [msg for msg in final_messages if isinstance(msg, AIMessage)]
 
88
  if not ai_messages:
89
  return "I wasn't able to generate a proper response. Please try again."
90
- for msg in reversed(ai_messages):
91
- if not hasattr(msg, 'tool_calls') or not msg.tool_calls:
92
- return msg.content
93
- return ai_messages[-1].content if ai_messages else "I wasn't able to generate a proper response. Please try again."
 
 
 
94
  except Exception as e:
95
  print(f"Error running agent graph: {e}")
96
  return f"Sorry, I encountered an error while processing your question: {str(e)}"
 
65
  builder = StateGraph(MessagesState)
66
  builder.add_node("assistant", assistant)
67
  builder.add_node("tools", tools_node)
68
+ builder.add_edge("tools", "assistant")
69
  builder.add_edge("assistant", "tools")
70
  builder.set_entry_point("assistant")
71
+ builder.add_conditional_edges(
72
+ "tools",
73
+ lambda x: "assistant",
74
+ {"assistant": "assistant"}
75
+ )
76
  builder.add_conditional_edges(
77
  "assistant",
78
  tools_condition,
 
90
  # Initial state must be a dict with "messages" key!
91
  result = self.graph.invoke({"messages": messages})
92
  final_messages = result["messages"]
93
+
94
+ # Extract only AI messages from the final state
95
  ai_messages = [msg for msg in final_messages if isinstance(msg, AIMessage)]
96
+
97
  if not ai_messages:
98
  return "I wasn't able to generate a proper response. Please try again."
99
+
100
+ # Get the last AI message - this should be the final answer
101
+ last_message = ai_messages[-1]
102
+
103
+ # Return the content of the last AI message
104
+ return last_message.content if last_message.content else "I wasn't able to generate a proper response. Please try again."
105
+
106
  except Exception as e:
107
  print(f"Error running agent graph: {e}")
108
  return f"Sorry, I encountered an error while processing your question: {str(e)}"