Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -80,8 +80,8 @@ def tool_node(state: AgentState, tool_request: dict) -> AgentState:
|
|
| 80 |
# 3.a) Run the actual ToolNode on that dict:
|
| 81 |
result_text = underlying_tool_node.run(tool_request)
|
| 82 |
|
| 83 |
-
# 3.b) Update state.messages to note the tool
|
| 84 |
-
# and clear tool_request so we don
|
| 85 |
return {
|
| 86 |
"messages": [f"TOOL ({tool_request['tool']}): {result_text}"],
|
| 87 |
"tool_request": None,
|
|
@@ -93,13 +93,13 @@ graph = StateGraph(AgentState)
|
|
| 93 |
graph.add_node("agent", agent_node)
|
| 94 |
graph.add_node("tools", tool_node)
|
| 95 |
|
| 96 |
-
# 5) Simple START β
|
| 97 |
graph.add_edge(START, "agent")
|
| 98 |
|
| 99 |
-
# 6) Simple
|
| 100 |
graph.add_edge("tools", "agent")
|
| 101 |
|
| 102 |
-
# 7) Conditional branching out of
|
| 103 |
def route_agent(state: AgentState, agent_out):
|
| 104 |
"""
|
| 105 |
When the LLM (agent_node) runs, it returns an AgentState where
|
|
@@ -130,8 +130,8 @@ compiled_graph = graph.compile()
|
|
| 130 |
# 9) Define respond_to_input so that Gradio (and the Hugging Face submission) can call it
|
| 131 |
def respond_to_input(user_input: str) -> str:
|
| 132 |
initial_state: AgentState = {"messages": [], "tool_request": None, "tool_result": None}
|
| 133 |
-
# βοΈ
|
| 134 |
-
final_state = compiled_graph.
|
| 135 |
# Return the last assistant message
|
| 136 |
last = final_state["messages"][-1]
|
| 137 |
return last.replace("ASSISTANT: ", "")
|
|
|
|
| 80 |
# 3.a) Run the actual ToolNode on that dict:
|
| 81 |
result_text = underlying_tool_node.run(tool_request)
|
| 82 |
|
| 83 |
+
# 3.b) Update state.messages to note the tool's output,
|
| 84 |
+
# and clear tool_request so we don't loop.
|
| 85 |
return {
|
| 86 |
"messages": [f"TOOL ({tool_request['tool']}): {result_text}"],
|
| 87 |
"tool_request": None,
|
|
|
|
| 93 |
graph.add_node("agent", agent_node)
|
| 94 |
graph.add_node("tools", tool_node)
|
| 95 |
|
| 96 |
+
# 5) Simple START β "agent" edge (no third argument needed)
|
| 97 |
graph.add_edge(START, "agent")
|
| 98 |
|
| 99 |
+
# 6) Simple "tools" β "agent" edge (again, no third argument)
|
| 100 |
graph.add_edge("tools", "agent")
|
| 101 |
|
| 102 |
+
# 7) Conditional branching out of "agent," exactly like the tutorial
|
| 103 |
def route_agent(state: AgentState, agent_out):
|
| 104 |
"""
|
| 105 |
When the LLM (agent_node) runs, it returns an AgentState where
|
|
|
|
| 130 |
# 9) Define respond_to_input so that Gradio (and the Hugging Face submission) can call it
|
| 131 |
def respond_to_input(user_input: str) -> str:
|
| 132 |
initial_state: AgentState = {"messages": [], "tool_request": None, "tool_result": None}
|
| 133 |
+
# βοΈ use .invoke() in v0.4.7
|
| 134 |
+
final_state = compiled_graph.invoke(initial_state, user_input)
|
| 135 |
# Return the last assistant message
|
| 136 |
last = final_state["messages"][-1]
|
| 137 |
return last.replace("ASSISTANT: ", "")
|