From 93be51a69e10137f79ef2ed7d7334b78a00f56da Mon Sep 17 00:00:00 2001 From: Zhichao Date: Mon, 23 Sep 2024 15:37:45 +0800 Subject: [PATCH] fix: add `function_name` in tool_calls `payload` if it's missing (#243) add function_name in payload if it's missing --- vision_agent/tools/tool_utils.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/vision_agent/tools/tool_utils.py b/vision_agent/tools/tool_utils.py index 1b85446b..605f5511 100644 --- a/vision_agent/tools/tool_utils.py +++ b/vision_agent/tools/tool_utils.py @@ -208,19 +208,25 @@ def _call_post( if files: files_in_b64 = [(file[0], b64encode(file[1]).decode("utf-8")) for file in files] try: + if files is not None: + response = session.post(url, data=payload, files=files) + else: + response = session.post(url, json=payload) + + # make sure function_name is in the payload so we can display it + tool_call_trace_payload = ( + payload + if "function_name" in payload + else {**payload, **{"function_name": function_name}} + ) tool_call_trace = ToolCallTrace( endpoint_url=url, - request=payload, + request=tool_call_trace_payload, response={}, error=None, files=files_in_b64, ) - if files is not None: - response = session.post(url, data=payload, files=files) - else: - response = session.post(url, json=payload) - if response.status_code != 200: tool_call_trace.error = Error( name="RemoteToolCallFailed",