From 515a4b18daa7ceaec812e092e179a1c117bc5a42 Mon Sep 17 00:00:00 2001 From: Zhichao Date: Fri, 6 Sep 2024 14:21:18 +0800 Subject: [PATCH 1/2] save --- vision_agent/tools/tool_utils.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/vision_agent/tools/tool_utils.py b/vision_agent/tools/tool_utils.py index 67306c9d..98ab5bf9 100644 --- a/vision_agent/tools/tool_utils.py +++ b/vision_agent/tools/tool_utils.py @@ -1,3 +1,4 @@ +from base64 import b64encode import inspect import logging import os @@ -27,6 +28,7 @@ class ToolCallTrace(BaseModel): request: MutableMapping[str, Any] response: MutableMapping[str, Any] error: Optional[Error] + files: Optional[List[Dict[str, str]]] def send_inference_request( @@ -202,12 +204,21 @@ def _call_post( files: Optional[List[Tuple[Any, ...]]] = None, function_name: str = "unknown", ) -> Any: + files_in_b64 = None + if files: + files_in_b64 = [ + {"video": b64encode(file[1]).decode("utf-8")} + if file[0] == "video" + else {"image": b64encode(file[0]).decode("utf-8")} + for file in files + ] try: tool_call_trace = ToolCallTrace( endpoint_url=url, request=payload, response={}, error=None, + files=files_in_b64, ) if files is not None: From 9350e40444f59ea4fad8f0c5dbad7f7c819de13d Mon Sep 17 00:00:00 2001 From: Zhichao Date: Sun, 8 Sep 2024 23:59:13 +0800 Subject: [PATCH 2/2] change from dict to tuple --- vision_agent/tools/tool_utils.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/vision_agent/tools/tool_utils.py b/vision_agent/tools/tool_utils.py index 98ab5bf9..534bc078 100644 --- a/vision_agent/tools/tool_utils.py +++ b/vision_agent/tools/tool_utils.py @@ -28,7 +28,7 @@ class ToolCallTrace(BaseModel): request: MutableMapping[str, Any] response: MutableMapping[str, Any] error: Optional[Error] - files: Optional[List[Dict[str, str]]] + files: Optional[List[tuple[str, str]]] def send_inference_request( @@ -206,12 +206,7 @@ def _call_post( ) -> Any: files_in_b64 = None if files: - files_in_b64 = [ - {"video": b64encode(file[1]).decode("utf-8")} - if file[0] == "video" - else {"image": b64encode(file[0]).decode("utf-8")} - for file in files - ] + files_in_b64 = [(file[0], b64encode(file[1]).decode("utf-8")) for file in files] try: tool_call_trace = ToolCallTrace( endpoint_url=url,