fix: avoid reassigning agent tool names

This commit is contained in:
-LAN- 2025-11-03 16:03:12 +08:00
parent a38425e7b5
commit 483288b1bb
No known key found for this signature in database
GPG Key ID: 6BA0D108DED011FF
1 changed files with 9 additions and 9 deletions

View File

@ -445,9 +445,9 @@ class BaseAgentRunner(AppRunner):
agent_thoughts: list[MessageAgentThought] = message.agent_thoughts
if agent_thoughts:
for agent_thought in agent_thoughts:
tools = agent_thought.tool
if tools:
tools = tools.split(";")
tool_names_raw = agent_thought.tool
if tool_names_raw:
tool_names = tool_names_raw.split(";")
tool_calls: list[AssistantPromptMessage.ToolCall] = []
tool_call_response: list[ToolPromptMessage] = []
tool_input_payload = agent_thought.tool_input
@ -455,20 +455,20 @@ class BaseAgentRunner(AppRunner):
try:
tool_inputs = json.loads(tool_input_payload)
except Exception:
tool_inputs = {tool: {} for tool in tools}
tool_inputs = {tool: {} for tool in tool_names}
else:
tool_inputs = {tool: {} for tool in tools}
tool_inputs = {tool: {} for tool in tool_names}
observation_payload = agent_thought.observation
if observation_payload:
try:
tool_responses = json.loads(observation_payload)
except Exception:
tool_responses = dict.fromkeys(tools, observation_payload)
tool_responses = dict.fromkeys(tool_names, observation_payload)
else:
tool_responses = dict.fromkeys(tools, observation_payload)
tool_responses = dict.fromkeys(tool_names, observation_payload)
for tool in tools:
for tool in tool_names:
# generate a uuid for tool call
tool_call_id = str(uuid.uuid4())
tool_calls.append(
@ -498,7 +498,7 @@ class BaseAgentRunner(AppRunner):
*tool_call_response,
]
)
if not tools:
if not tool_names_raw:
result.append(AssistantPromptMessage(content=agent_thought.thought))
else:
if message.answer: