diff --git a/vision_agent/tools/tool_utils.py b/vision_agent/tools/tool_utils.py index 67306c9d..534bc078 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[tuple[str, str]]] def send_inference_request( @@ -202,12 +204,16 @@ def _call_post( files: Optional[List[Tuple[Any, ...]]] = None, function_name: str = "unknown", ) -> Any: + files_in_b64 = None + if files: + files_in_b64 = [(file[0], b64encode(file[1]).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: