Browse Source

fix tool_inputs parse error in message that in CoT(ReAct) agent mode (#2949)

tags/0.5.11
listeng 1 year ago
parent
commit
d70bd4aaa4
No account linked to committer's email address

+ 6
- 2
api/core/features/assistant_base_runner.py View File

tools = tools.split(';') tools = tools.split(';')
tool_calls: list[AssistantPromptMessage.ToolCall] = [] tool_calls: list[AssistantPromptMessage.ToolCall] = []
tool_call_response: list[ToolPromptMessage] = [] tool_call_response: list[ToolPromptMessage] = []
tool_inputs = json.loads(agent_thought.tool_input)
try:
tool_inputs = json.loads(agent_thought.tool_input)
except Exception as e:
logging.warning("tool execution error: {}, tool_input: {}.".format(str(e), agent_thought.tool_input))
tool_inputs = { agent_thought.tool: agent_thought.tool_input }
for tool in tools: for tool in tools:
# generate a uuid for tool call # generate a uuid for tool call
tool_call_id = str(uuid.uuid4()) tool_call_id = str(uuid.uuid4())


db.session.close() db.session.close()


return result
return result

+ 2
- 2
api/core/features/assistant_cot_runner.py View File

delta=LLMResultChunkDelta( delta=LLMResultChunkDelta(
index=0, index=0,
message=AssistantPromptMessage( message=AssistantPromptMessage(
content=json.dumps(chunk)
content=json.dumps(chunk, ensure_ascii=False) # if ensure_ascii=True, the text in webui maybe garbled text
), ),
usage=None usage=None
) )
try: try:
return json.dumps(tools, ensure_ascii=False) return json.dumps(tools, ensure_ascii=False)
except json.JSONDecodeError: except json.JSONDecodeError:
return json.dumps(tools)
return json.dumps(tools)

Loading…
Cancel
Save