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
+5 -1
View File
@@ -113,7 +113,11 @@ class MoviePilotAgent:
) )
) )
elif msg.get("role") == "tool_result": 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": elif msg.get("role") == "system":
chat_history.add_message(SystemMessage(content=msg.get("content", ""))) chat_history.add_message(SystemMessage(content=msg.get("content", "")))
return chat_history return chat_history
+5 -2
View File
@@ -75,7 +75,7 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
# 记忆工具调用结果 # 记忆工具调用结果
if isinstance(result, str): if isinstance(result, str):
formated_result = result formated_result = result
elif isinstance(result, int, float): elif isinstance(result, (int, float)):
formated_result = str(result) formated_result = str(result)
else: else:
formated_result = json.dumps(result, ensure_ascii=False, indent=2) formated_result = json.dumps(result, ensure_ascii=False, indent=2)
@@ -83,7 +83,10 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
session_id=self._session_id, session_id=self._session_id,
user_id=self._user_id, user_id=self._user_id,
role="tool_result", role="tool_result",
content=formated_result content=formated_result,
metadata={
"call_id": self.__class__.__name__
}
) )
return result return result