Spaces:
Runtime error
Runtime error
Update agent.py
Browse files
agent.py
CHANGED
|
@@ -188,13 +188,12 @@ def build_graph(provider: str = "openai"):
|
|
| 188 |
llm_with_tools = llm.bind_tools(tools)
|
| 189 |
|
| 190 |
# Define nodes
|
| 191 |
-
|
| 192 |
"""Assistant node - generates responses"""
|
| 193 |
-
# Get current messages
|
| 194 |
messages = state["messages"]
|
| 195 |
# Generate response using LLM
|
| 196 |
response = llm_with_tools.invoke(messages)
|
| 197 |
-
#
|
| 198 |
return {"messages": messages + [response]}
|
| 199 |
|
| 200 |
def retriever(state: MessagesState):
|
|
@@ -230,13 +229,23 @@ def build_graph(provider: str = "openai"):
|
|
| 230 |
# Set up edges
|
| 231 |
builder.set_entry_point("retriever")
|
| 232 |
builder.add_edge("retriever", "assistant")
|
|
|
|
|
|
|
| 233 |
builder.add_conditional_edges(
|
| 234 |
"assistant",
|
| 235 |
tools_condition,
|
| 236 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
)
|
| 238 |
-
builder.add_edge("tools", "retriever") # Go back to retriever after tools
|
| 239 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 240 |
return builder.compile()
|
| 241 |
|
| 242 |
|
|
|
|
| 188 |
llm_with_tools = llm.bind_tools(tools)
|
| 189 |
|
| 190 |
# Define nodes
|
| 191 |
+
def assistant(state: MessagesState):
|
| 192 |
"""Assistant node - generates responses"""
|
|
|
|
| 193 |
messages = state["messages"]
|
| 194 |
# Generate response using LLM
|
| 195 |
response = llm_with_tools.invoke(messages)
|
| 196 |
+
# Return new state with appended message
|
| 197 |
return {"messages": messages + [response]}
|
| 198 |
|
| 199 |
def retriever(state: MessagesState):
|
|
|
|
| 229 |
# Set up edges
|
| 230 |
builder.set_entry_point("retriever")
|
| 231 |
builder.add_edge("retriever", "assistant")
|
| 232 |
+
|
| 233 |
+
# Conditional tool usage
|
| 234 |
builder.add_conditional_edges(
|
| 235 |
"assistant",
|
| 236 |
tools_condition,
|
| 237 |
+
{
|
| 238 |
+
# Continue to tools if needed
|
| 239 |
+
"continue": "tools",
|
| 240 |
+
# End conversation if no tools needed
|
| 241 |
+
"end": END
|
| 242 |
+
}
|
| 243 |
)
|
|
|
|
| 244 |
|
| 245 |
+
# After tools execute, return to assistant for response generation
|
| 246 |
+
builder.add_edge("tools", "assistant")
|
| 247 |
+
|
| 248 |
+
builder.add_finish_point(END) # Explicitly declare END as finish point
|
| 249 |
return builder.compile()
|
| 250 |
|
| 251 |
|