Loops do not repeat execution for leaf nodes (for Execution Model Inversion)
Expected Behavior
I would expect that the final branches (leaf nodes (nodes without return pins)) in the loop body would also be re-executed with each loop, or I would expect to be able to control this somehow, but I haven't found such functionality.
Actual Behavior
Currently, any leaf nodes in the node tree inside the loop body are not executed in subsequent loops (leaf nodes are executed only once). For example, in the screenshot below, you can see that the preview (on the left) of the very first image created by the loop is displayed, rather than the very last image that is displayed after the loop (on the right). While the loop is running, the image previews are not updated inside the loop body.
Screenshot with workflow with problem:
Issue/bug for @guill
Steps to Reproduce
Here is a simple workflow that makes it easy to reproduce this issue: Leaf_Node_Problem_Example_Workprocess.json
Debug Logs
-
Other
Is it possible to force leaf nodes (nodes without return pins) to be re-executed in Execution Model Inversion? If so, how? Or will this be implemented in the future?
@elitecodegroovy Hello there! I'm here to assist you with bugs, questions, and becoming a contributor. If you need help, feel free to reach out to me.
The agent's answer content might not be inserted into the messages table because the response mode is set to streaming. In streaming mode, the response is returned as a series of events rather than a single response object. This mode is designed for real-time updates and might not directly insert the final answer into the messages table.
To ensure the agent's answer content is inserted into the messages table, you might need to handle the streaming events and aggregate the final answer before inserting it into the database. Ensure that your implementation correctly handles these events and inserts the final aggregated answer into the messages table [1].
To continue talking to Dosu, mention @dosu.
I am sure that case that message event stream answer content is empty and then insert the empty value to the field answer in the table messages。
response event stream like this as following.
data: {"event": "agent_thought", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "d01ba9c8-e3cc-4b8c-9b72-d4f3dbc719d1", "position": 1, "thought": "", "observation": "", "tool": "", "tool_labels": {}, "tool_input": "", "message_files": []}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\n"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": ""}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": ""}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "```"}
data: {"event": "agent_thought", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "d01ba9c8-e3cc-4b8c-9b72-d4f3dbc719d1", "position": 1, "thought": "```", "observation": "", "tool": "is_internet_travel_post", "tool_labels": {"is_internet_travel_post": {"en_US": "is_internet_travel_post", "zh_Hans": "is_internet_travel_post"}}, "tool_input": "{\"is_internet_travel_post\": \"18921360001\"}", "message_files": []}
data: {"event": "agent_thought", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "d01ba9c8-e3cc-4b8c-9b72-d4f3dbc719d1", "position": 1, "thought": "```", "observation": "{\"is_internet_travel_post\": \"there is not a tool named is_internet_travel_post\"}", "tool": "is_internet_travel_post", "tool_labels": {"is_internet_travel_post": {"en_US": "is_internet_travel_post", "zh_Hans": "is_internet_travel_post"}}, "tool_input": "{\"is_internet_travel_post\": \"18921360001\"}", "message_files": []}
data: {"event": "agent_thought", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "5773c3a8-bf97-4889-81e8-9ac17dfea4da", "position": 2, "thought": "", "observation": "", "tool": "", "tool_labels": {}, "tool_input": "", "message_files": []}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "F"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "i"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "n"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "a"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "l"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": " "}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "A"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "n"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "s"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "w"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "e"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "r"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": ":"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": " "}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u4e3a"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u4fdd"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u969c"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u60a8"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u7684"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u6743"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u76ca"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\uff0c"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u8bf7"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u60a8"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u5148"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u8fdb"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u884c"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u8eab"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u4efd"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u9274"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u6743"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": "\u3002"}
data: {"event": "agent_message", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "answer": ""}
data: {"event": "message_end", "conversation_id": "a5233957-01e3-4bcf-bc9c-4390c1b92429", "message_id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "created_at": 1719915570, "task_id": "1ae6620c-f80e-4da8-9900-3dc370010bee", "id": "47d025d4-4141-4b70-9fdc-f921d5be0010", "metadata": {"usage": {"prompt_tokens": 15744, "prompt_unit_price": "0", "prompt_price_unit": "0", "prompt_price": "0E-7", "completion_tokens": 77, "completion_unit_price": "0", "completion_price_unit": "0", "completion_price": "0E-7", "total_tokens": 7906, "total_price": "0E-7", "currency": "USD", "latency": 5.146229874997516}}}
The event stream final data with empty value for the answer field is inserted into the table 'messages', It is expected to be all the answer content but actionally inserted the last content.
I also have this problem. What kind of llm did you connect?