make tool parameters parsing compatible with the response of glm4 model in xinference provider when function tool call integerated (#11049)

This commit is contained in:
cyflhn 2024-11-25 11:02:58 +08:00 committed by GitHub
parent 40a5f1c80a
commit 87c831e5dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -61,6 +61,11 @@ class ToolEngine:
if parameters and len(parameters) == 1:
tool_parameters = {parameters[0].name: tool_parameters}
else:
try:
tool_parameters = json.loads(tool_parameters)
except Exception as e:
pass
if not isinstance(tool_parameters, dict):
raise ValueError(f"tool_parameters should be a dict, but got a string: {tool_parameters}")
# invoke the tool