mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-09-06 08:16:00 +00:00
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from typing import List
|
|
|
|
from experiencemaker.enumeration.role import Role
|
|
from experiencemaker.schema.message import Message
|
|
|
|
|
|
def merge_messages_content(messages: List[Message | dict]) -> str:
|
|
content_collector = []
|
|
for i, message in enumerate(messages):
|
|
if isinstance(message, dict):
|
|
message = Message(**message)
|
|
|
|
if message.role is Role.ASSISTANT:
|
|
line = f"### step.{i} role={message.role.value} content=\n{message.reasoning_content}\n\n{message.content}\n"
|
|
if message.tool_calls:
|
|
for tool_call in message.tool_calls:
|
|
line += f" - tool call={tool_call.name}\n params={tool_call.arguments}\n"
|
|
content_collector.append(line)
|
|
|
|
elif message.role is Role.USER:
|
|
line = f"### step.{i} role={message.role.value} content=\n{message.content}\n"
|
|
content_collector.append(line)
|
|
|
|
elif message.role is Role.TOOL:
|
|
line = f"### step.{i} role={message.role.value} tool call result=\n{message.content}\n"
|
|
content_collector.append(line)
|
|
|
|
return "\n".join(content_collector)
|