Skip to content

Agent app error with multi-turn thinking and tool call #30063

@leslie2046

Description

@leslie2046

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • 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, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.11.1

Cloud or Self Hosted

Self Hosted (Source)

Steps to reproduce

1. deepseek-reasoner(DeepSeek)

screenshot

Image Image

logs

[on_tool_start] ToolCall:current_time
{}

[on_tool_end]
Tool: current_time
Inputs: {'format': '%Y-%m-%d %H:%M:%S', 'timezone': 'Asia/Shanghai'}
Outputs: 2025-12-24 14:34:43


[on_llm_before_invoke]
Model: deepseek-reasoner
Parameters:
	Tools:
		current_time
		lunar_query
		get_weather
Stream: True
User: 43636770-a92c-4cb3-a701-849e8004b54a
Prompt messages:
	role: system
	content: 你是一名助手!

	role: user
	content: 今天农历是?
	role: assistant
	content: 
	name: current_time
	role: tool
	content: 2025-12-24 14:34:43

[on_llm_new_chunk]2025-12-24 14:34:43,685 DEBUG [_config.py:82] 5b63f76f50 load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:34:43,686 DEBUG [_config.py:148] 5b63f76f50 load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:34:43,725 DEBUG [_config.py:82] 5b63f76f50 load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:34:43,726 DEBUG [_config.py:148] 5b63f76f50 load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:34:43,751 DEBUG [_config.py:82] 5b63f76f50 load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:34:43,751 DEBUG [_config.py:148] 5b63f76f50 load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:34:43,777 DEBUG [_trace.py:47] 5b63f76f50 connect_tcp.started host='192.168.0.188' port=5002 local_address=None timeout=600.0 socket_options=None
2025-12-24 14:34:43,777 DEBUG [_trace.py:47] 5b63f76f50 connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x72f0c304f9e0>
2025-12-24 14:34:43,777 DEBUG [_trace.py:47] 5b63f76f50 send_request_headers.started request=<Request [b'POST']>
2025-12-24 14:34:43,778 DEBUG [_trace.py:47] 5b63f76f50 send_request_headers.complete
2025-12-24 14:34:43,778 DEBUG [_trace.py:47] 5b63f76f50 send_request_body.started request=<Request [b'POST']>
2025-12-24 14:34:43,778 DEBUG [_trace.py:47] 5b63f76f50 send_request_body.complete
2025-12-24 14:34:43,778 DEBUG [_trace.py:47] 5b63f76f50 receive_response_headers.started request=<Request [b'POST']>
2025-12-24 14:34:44,93 DEBUG [_trace.py:47] 5b63f76f50 receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Content-Type', b'text/event-stream'), (b'Date', b'Wed, 24 Dec 2025 06:34:44 GMT'), (b'Transfer-Encoding', b'chunked')])
2025-12-24 14:34:44,93 INFO [_client.py:1038] 5b63f76f50 HTTP Request: POST http://192.168.0.188:5002/plugin/d8669796-681c-419a-8a68-2fefa954ac92/dispatch/llm/invoke "HTTP/1.1 200 OK"
2025-12-24 14:34:44,93 DEBUG [_trace.py:47] 5b63f76f50 receive_response_body.started request=<Request [b'POST']>
2025-12-24 14:34:44,93 ERROR [base.py:277] 5b63f76f50 Error in stream response for plugin {'code': -500, 'message': '{"message":"{\\"args\\":{\\"description\\":\\"[models] Error: API request failed with status code 400: {\\\\\\"error\\\\\\":{\\\\\\"message\\\\\\":\\\\\\"Missing `reasoning_content` field in the assistant message at message index 2. For more information, please refer to https://api-docs.deepseek.com/guides/thinking_mode#tool-calls\\\\\\",\\\\\\"type\\\\\\":\\\\\\"invalid_request_error\\\\\\",\\\\\\"param\\\\\\":null,\\\\\\"code\\\\\\":\\\\\\"invalid_request_error\\\\\\"}}\\"},\\"error_type\\":\\"InvokeError\\",\\"message\\":\\"[models] Error: API request failed with status code 400: {\\\\\\"error\\\\\\":{\\\\\\"message\\\\\\":\\\\\\"Missing `reasoning_content` field in the assistant message at message index 2. For more information, please refer to https://api-docs.deepseek.com/guides/thinking_mode#tool-calls\\\\\\",\\\\\\"type\\\\\\":\\\\\\"invalid_request_error\\\\\\",\\\\\\"param\\\\\\":null,\\\\\\"code\\\\\\":\\\\\\"invalid_request_error\\\\\\"}}\\"}","error_type":"PluginInvokeError","args":null}', 'data': None}
2025-12-24 14:34:44,93 DEBUG [_trace.py:47] 5b63f76f50 receive_response_body.failed exception=GeneratorExit()
2025-12-24 14:34:44,94 DEBUG [_trace.py:47] 5b63f76f50 response_closed.started
2025-12-24 14:34:44,94 DEBUG [_trace.py:47] 5b63f76f50 response_closed.complete
2025-12-24 14:34:44,95 ERROR [app_generator.py:260] 5b63f76f50 Error when generating
Traceback (most recent call last):
  File "/home/leslie/share/code/dify/api/core/app/apps/agent_chat/app_generator.py", line 243, in _generate_worker
    runner.run(
  File "/home/leslie/share/code/dify/api/core/app/apps/agent_chat/app_runner.py", line 234, in run
    self._handle_invoke_result(
  File "/home/leslie/share/code/dify/api/core/app/apps/base_app_runner.py", line 218, in _handle_invoke_result
    self._handle_invoke_result_stream(invoke_result=invoke_result, queue_manager=queue_manager, agent=agent)
  File "/home/leslie/share/code/dify/api/core/app/apps/base_app_runner.py", line 251, in _handle_invoke_result_stream
    for result in invoke_result:
                  ^^^^^^^^^^^^^
  File "/home/leslie/share/code/dify/api/core/agent/fc_agent_runner.py", line 115, in run
    for chunk in chunks:
                 ^^^^^^
  File "/home/leslie/share/code/dify/api/core/model_runtime/model_providers/__base/large_language_model.py", line 305, in _invoke_result_generator
    raise self._transform_invoke_error(e)
  File "/home/leslie/share/code/dify/api/core/model_runtime/model_providers/__base/large_language_model.py", line 276, in _invoke_result_generator
    for chunk in result:
                 ^^^^^^
  File "/home/leslie/share/code/dify/api/core/plugin/impl/model.py", line 189, in invoke_llm
    yield from response
  File "/home/leslie/share/code/dify/api/core/plugin/impl/base.py", line 278, in _request_with_plugin_daemon_response_stream
    self._handle_plugin_daemon_error(error.error_type, error.message)
  File "/home/leslie/share/code/dify/api/core/plugin/impl/base.py", line 320, in _handle_plugin_daemon_error
    raise PluginInvokeError(description=message)
core.plugin.impl.exc.PluginInvokeError: req_id: 5b63f76f50 PluginInvokeError: {"args":{"description":"[models] Error: API request failed with status code 400: {\"error\":{\"message\":\"Missing `reasoning_content` field in the assistant message at message index 2. For more information, please refer to https://api-docs.deepseek.com/guides/thinking_mode#tool-calls\",\"type\":\"invalid_request_error\",\"param\":null,\"code\":\"invalid_request_error\"}}"},"error_type":"InvokeError","message":"[models] Error: API request failed with status code 400: {\"error\":{\"message\":\"Missing `reasoning_content` field in the assistant message at message index 2. For more information, please refer to https://api-docs.deepseek.com/guides/thinking_mode#tool-calls\",\"type\":\"invalid_request_error\",\"param\":null,\"code\":\"invalid_request_error\"}}"}
2025-12-24 14:34:44,97 DEBUG [based_generate_task_pipeline.py:45] 8adc12a544 error: req_id: 8adc12a544 PluginInvokeError: {"args":{"description":"[models] Error: API request failed with status code 400: {\"error\":{\"message\":\"Missing `reasoning_content` field in the assistant message at message index 2. For more information, please refer to https://api-docs.deepseek.com/guides/thinking_mode#tool-calls\",\"type\":\"invalid_request_error\",\"param\":null,\"code\":\"invalid_request_error\"}}"},"error_type":"InvokeError","message":"[models] Error: API request failed with status code 400: {\"error\":{\"message\":\"Missing `reasoning_content` field in the assistant message at message index 2. For more information, please refer to https://api-docs.deepseek.com/guides/thinking_mode#tool-calls\",\"type\":\"invalid_request_error\",\"param\":null,\"code\":\"invalid_request_error\"}}"}

2. DeepSeek 3.2(volcengine)

screenshot

Image Image

logs


[on_tool_end]
Tool: lunar_query
Inputs: {'datetime': '2025-12-24', 'format': '%Y-%m-%d'}
Outputs: {"result": "农历十一月初五"}


[on_llm_before_invoke]
Model: DeepSeek-V3.2
Parameters:
	thinking: enabled
	Tools:
		current_time
		lunar_query
		get_weather
Stream: True
User: 43636770-a92c-4cb3-a701-849e8004b54a
Prompt messages:
	role: system
	content: 你是一名助手!

	role: user
	content: 今天农历是?
	role: assistant
	content: 
	name: current_time
	role: tool
	content: 2025-12-24 14:28:25
	role: assistant
	content: 
	name: lunar_query
	role: tool
	content: {"result": "农历十一月初五"}

[on_llm_new_chunk]2025-12-24 14:28:31,391 DEBUG [_config.py:82] 65dc1b104c load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:28:31,391 DEBUG [_config.py:148] 65dc1b104c load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:28:31,416 DEBUG [_config.py:82] 65dc1b104c load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:28:31,416 DEBUG [_config.py:148] 65dc1b104c load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:28:31,441 DEBUG [_config.py:82] 65dc1b104c load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:28:31,441 DEBUG [_config.py:148] 65dc1b104c load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:28:31,467 DEBUG [_trace.py:47] 65dc1b104c connect_tcp.started host='192.168.0.188' port=5002 local_address=None timeout=600.0 socket_options=None
2025-12-24 14:28:31,467 DEBUG [_trace.py:47] 65dc1b104c connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x72f0c31476e0>
2025-12-24 14:28:31,467 DEBUG [_trace.py:47] 65dc1b104c send_request_headers.started request=<Request [b'POST']>
2025-12-24 14:28:31,468 DEBUG [_trace.py:47] 65dc1b104c send_request_headers.complete
2025-12-24 14:28:31,468 DEBUG [_trace.py:47] 65dc1b104c send_request_body.started request=<Request [b'POST']>
2025-12-24 14:28:31,468 DEBUG [_trace.py:47] 65dc1b104c send_request_body.complete
2025-12-24 14:28:31,468 DEBUG [_trace.py:47] 65dc1b104c receive_response_headers.started request=<Request [b'POST']>
2025-12-24 14:28:35,291 DEBUG [_trace.py:47] 65dc1b104c receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Content-Type', b'text/event-stream'), (b'Date', b'Wed, 24 Dec 2025 06:28:35 GMT'), (b'Transfer-Encoding', b'chunked')])
2025-12-24 14:28:35,292 INFO [_client.py:1038] 65dc1b104c HTTP Request: POST http://192.168.0.188:5002/plugin/d8669796-681c-419a-8a68-2fefa954ac92/dispatch/llm/invoke "HTTP/1.1 200 OK"
2025-12-24 14:28:35,292 DEBUG [_trace.py:47] 65dc1b104c receive_response_body.started request=<Request [b'POST']>
<think>
根据查询结果,今天是2025年12月24日,对应的农历日期是**农历十一月初五**。

3. Pro/deepseek-ai/DeepSeek-V3.2(siliconflow)

screenshots

Image Image

logs

[on_tool_end]
Tool: lunar_query
Inputs: {'datetime': '2025-12-24', 'format': '%Y-%m-%d'}
Outputs: {"result": "农历十一月初五"}


[on_llm_before_invoke]
Model: Pro/deepseek-ai/DeepSeek-V3.2
Parameters:
	enable_thinking: True
	Tools:
		current_time
		lunar_query
		get_weather
Stream: True
User: 43636770-a92c-4cb3-a701-849e8004b54a
Prompt messages:
	role: system
	content: 你是一名助手!

	role: user
	content: 今天农历是?
	role: assistant
	content: 
	name: current_time
	role: tool
	content: 2025-12-24 14:37:05
	role: assistant
	content: 
	name: lunar_query
	role: tool
	content: {"result": "农历十一月初五"}

[on_llm_new_chunk]2025-12-24 14:37:15,638 DEBUG [_config.py:82] c9d8a0920f load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:37:15,639 DEBUG [_config.py:148] c9d8a0920f load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:37:15,664 DEBUG [_config.py:82] c9d8a0920f load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:37:15,665 DEBUG [_config.py:148] c9d8a0920f load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:37:15,689 DEBUG [_config.py:82] c9d8a0920f load_ssl_context verify=True cert=None trust_env=True http2=False
2025-12-24 14:37:15,689 DEBUG [_config.py:148] c9d8a0920f load_verify_locations cafile='/home/leslie/share/code/dify/api/.venv/lib/python3.12/site-packages/certifi/cacert.pem'
2025-12-24 14:37:15,715 DEBUG [_trace.py:47] c9d8a0920f connect_tcp.started host='192.168.0.188' port=5002 local_address=None timeout=600.0 socket_options=None
2025-12-24 14:37:15,715 DEBUG [_trace.py:47] c9d8a0920f connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x72f0e048d580>
2025-12-24 14:37:15,716 DEBUG [_trace.py:47] c9d8a0920f send_request_headers.started request=<Request [b'POST']>
2025-12-24 14:37:15,716 DEBUG [_trace.py:47] c9d8a0920f send_request_headers.complete
2025-12-24 14:37:15,716 DEBUG [_trace.py:47] c9d8a0920f send_request_body.started request=<Request [b'POST']>
2025-12-24 14:37:15,716 DEBUG [_trace.py:47] c9d8a0920f send_request_body.complete
2025-12-24 14:37:15,716 DEBUG [_trace.py:47] c9d8a0920f receive_response_headers.started request=<Request [b'POST']>
2025-12-24 14:37:16,724 DEBUG [_trace.py:47] c9d8a0920f receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Content-Type', b'text/event-stream'), (b'Date', b'Wed, 24 Dec 2025 06:37:16 GMT'), (b'Transfer-Encoding', b'chunked')])
2025-12-24 14:37:16,724 INFO [_client.py:1038] c9d8a0920f HTTP Request: POST http://192.168.0.188:5002/plugin/d8669796-681c-419a-8a68-2fefa954ac92/dispatch/llm/invoke "HTTP/1.1 200 OK"
2025-12-24 14:37:16,725 DEBUG [_trace.py:47] c9d8a0920f receive_response_body.started request=<Request [b'POST']>
<think>
今天是公历2025年12月24日,对应的农历日期是:**农历十一月初五**。2025-12-24 14:37:17,250 DEBUG [_trace.py:47] c9d8a0920f receive_response_body.complete
2025-12-24 14:37:17,250 DEBUG [_trace.py:47] c9d8a0920f response_closed.started
2025-12-24 14:37:17,251 DEBUG [_trace.py:47] c9d8a0920f response_closed.complete
2025-12-24 14:37:17,251 DEBUG [_trace.py:47] c9d8a0920f close.started
2025-12-24 14:37:17,251 DEBUG [_trace.py:47] c9d8a0920f close.complete


✔️ Expected Behavior

Correctly answer with final content.

❌ Actual Behavior

Error or no content

Metadata

Metadata

Assignees

Labels

🐞 bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions