langgenius / dify

Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.

Home Page:https://dify.ai

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Agent issue: answer content is not inserting to the messages table

elitecodegroovy opened this issue · comments

Self Checks

  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

0.6.12

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

agent issue:

  1. When the robot answered the question with result "Final Answer: xxxxx message info" , then view the chat information from log module, it showed the empty response content. I view the messgae answer content from database, it was empty.
  2. So the "Final Answer: xxxxx message info" doesn't save to the field 'answer' for the table messages.

✔️ Expected Behavior

inserting the message answer content "Final Answer: xxxxx message info" to the table messages.

❌ Actual Behavior

inserting the message answer content "" to the table messages.

@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?