Merge pull request #5382 from jxxghp/copilot/fix-tool-call-id-error

This commit is contained in:
jxxghp
2026-01-19 21:36:09 +08:00
committed by GitHub
2 changed files with 10 additions and 3 deletions

View File

@@ -113,7 +113,11 @@ class MoviePilotAgent:
)
)
elif msg.get("role") == "tool_result":
chat_history.add_message(ToolMessage(content=msg.get("content", "")))
metadata = msg.get("metadata", {})
chat_history.add_message(ToolMessage(
content=msg.get("content", ""),
tool_call_id=metadata.get("call_id", "unknown")
))
elif msg.get("role") == "system":
chat_history.add_message(SystemMessage(content=msg.get("content", "")))
return chat_history

View File

@@ -75,7 +75,7 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
# 记忆工具调用结果
if isinstance(result, str):
formated_result = result
elif isinstance(result, int, float):
elif isinstance(result, (int, float)):
formated_result = str(result)
else:
formated_result = json.dumps(result, ensure_ascii=False, indent=2)
@@ -83,7 +83,10 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
session_id=self._session_id,
user_id=self._user_id,
role="tool_result",
content=formated_result
content=formated_result,
metadata={
"call_id": self.__class__.__name__
}
)
return result