fix(workflow): ensure file messages are written to messages in non-stream mode
This commit is contained in:
@@ -637,11 +637,12 @@ class WorkflowService:
|
|||||||
if message["role"] == "user":
|
if message["role"] == "user":
|
||||||
if isinstance(message["content"], str):
|
if isinstance(message["content"], str):
|
||||||
human_message += message["content"]
|
human_message += message["content"]
|
||||||
elif isinstance(message["content"], dict):
|
elif isinstance(message["content"], list):
|
||||||
if message["content"].get("type") == FileType.IMAGE:
|
for file in message["content"]:
|
||||||
human_message += f"})"
|
if file.get("type") == FileType.IMAGE:
|
||||||
|
human_message += f"})"
|
||||||
else:
|
else:
|
||||||
human_message += f"[{FileType}]({message['content'].get('url', '')})"
|
human_message += f"[{file.get('type')}]({file.get('url', '')})"
|
||||||
if message["role"] == "assistant":
|
if message["role"] == "assistant":
|
||||||
assistant_message = message["content"]
|
assistant_message = message["content"]
|
||||||
self.conversation_service.add_message(
|
self.conversation_service.add_message(
|
||||||
@@ -663,8 +664,7 @@ class WorkflowService:
|
|||||||
output_data=result,
|
output_data=result,
|
||||||
token_usage=token_usage.get("total_tokens", None)
|
token_usage=token_usage.get("total_tokens", None)
|
||||||
)
|
)
|
||||||
logger.error(f"Workflow Run Failed, execution_id: {execution.execution_id},"
|
|
||||||
f" error: {result.get('error')}")
|
|
||||||
logger.info(f"Workflow Run Success, "
|
logger.info(f"Workflow Run Success, "
|
||||||
f"execution_id: {execution.execution_id}, message count: {len(final_messages)}")
|
f"execution_id: {execution.execution_id}, message count: {len(final_messages)}")
|
||||||
else:
|
else:
|
||||||
@@ -673,6 +673,8 @@ class WorkflowService:
|
|||||||
"failed",
|
"failed",
|
||||||
error_message=result.get("error")
|
error_message=result.get("error")
|
||||||
)
|
)
|
||||||
|
logger.error(f"Workflow Run Failed, execution_id: {execution.execution_id},"
|
||||||
|
f" error: {result.get('error')}")
|
||||||
|
|
||||||
# 返回增强的响应结构
|
# 返回增强的响应结构
|
||||||
return {
|
return {
|
||||||
@@ -804,7 +806,7 @@ class WorkflowService:
|
|||||||
if file.get("type") == FileType.IMAGE:
|
if file.get("type") == FileType.IMAGE:
|
||||||
human_message += f"})"
|
human_message += f"})"
|
||||||
else:
|
else:
|
||||||
human_message += f"[{file.get("type")}]({file.get('url', '')})"
|
human_message += f"[{file.get('type')}]({file.get('url', '')})"
|
||||||
if message["role"] == "assistant":
|
if message["role"] == "assistant":
|
||||||
assistant_message = message["content"]
|
assistant_message = message["content"]
|
||||||
self.conversation_service.add_message(
|
self.conversation_service.add_message(
|
||||||
|
|||||||
Reference in New Issue
Block a user