diff --git a/pyproject.toml b/pyproject.toml index e840301e..897791d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "vision-agent" -version = "0.2.109" +version = "0.2.110" description = "Toolset for Vision Agent" authors = ["Landing AI "] readme = "README.md" diff --git a/vision_agent/agent/vision_agent_coder.py b/vision_agent/agent/vision_agent_coder.py index 0453624b..864b88ea 100644 --- a/vision_agent/agent/vision_agent_coder.py +++ b/vision_agent/agent/vision_agent_coder.py @@ -132,7 +132,6 @@ def write_plans( tool_desc=tool_desc, feedback=working_memory, ) - print(prompt) chat[-1]["content"] = prompt return extract_json(model(chat, stream=False)) # type: ignore @@ -615,8 +614,6 @@ def __init__( also None, the local python runtime environment will be used. """ - print("testing1") - self.planner = ( OpenAILMM(temperature=0.0, json_mode=True) if planner is None else planner ) @@ -692,8 +689,6 @@ def chat_with_workflow( and working memory of the agent. """ - print("chat with workflow - start") - if not chat: raise ValueError("Chat cannot be empty.") diff --git a/vision_agent/tools/__init__.py b/vision_agent/tools/__init__.py index c415fd60..ce01e67b 100644 --- a/vision_agent/tools/__init__.py +++ b/vision_agent/tools/__init__.py @@ -8,6 +8,7 @@ TOOL_DOCSTRING, TOOLS, TOOLS_DF, + TOOLS_INFO, UTIL_TOOLS, UTILITIES_DOCSTRING, blip_image_caption, @@ -55,15 +56,16 @@ def register_tool(imports: Optional[List] = None) -> Callable: def decorator(tool: Callable) -> Callable: import inspect - from .tools import get_tool_descriptions, get_tools_df + from .tools import get_tool_descriptions, get_tools_df, get_tools_info - global TOOLS, TOOLS_DF, TOOL_DESCRIPTIONS, TOOL_DOCSTRING + global TOOLS, TOOLS_DF, TOOL_DESCRIPTIONS, TOOL_DOCSTRING, TOOLS_INFO if tool not in TOOLS: TOOLS.append(tool) TOOLS_DF = get_tools_df(TOOLS) # type: ignore TOOL_DESCRIPTIONS = get_tool_descriptions(TOOLS) # type: ignore TOOL_DOCSTRING = get_tool_documentation(TOOLS) # type: ignore + TOOLS_INFO = get_tools_info(TOOLS) # type: ignore globals()[tool.__name__] = tool if imports is not None: diff --git a/vision_agent/tools/tool_utils.py b/vision_agent/tools/tool_utils.py index 1a1146d3..f68b8587 100644 --- a/vision_agent/tools/tool_utils.py +++ b/vision_agent/tools/tool_utils.py @@ -165,3 +165,16 @@ def get_tools_df(funcs: List[Callable[..., Any]]) -> pd.DataFrame: data["doc"].append(doc) return pd.DataFrame(data) # type: ignore + + +def get_tools_info(funcs: List[Callable[..., Any]]) -> Dict[str, str]: + data: Dict[str, str] = {} + + for func in funcs: + desc = func.__doc__ + if desc is None: + desc = "" + + data[func.__name__] = f"{func.__name__}{inspect.signature(func)}:\n{desc}" + + return data diff --git a/vision_agent/tools/tools.py b/vision_agent/tools/tools.py index 212b15fa..4b1f27f0 100644 --- a/vision_agent/tools/tools.py +++ b/vision_agent/tools/tools.py @@ -19,7 +19,11 @@ get_tool_descriptions_by_names, get_tool_documentation, get_tools_df, +<<<<<<< HEAD send_inference_request, +======= + get_tools_info, +>>>>>>> 58115951f8a050c9f9f7be2012efe97ec00498ed ) from vision_agent.utils import extract_frames_from_video from vision_agent.utils.execute import FileSerializer, MimeType @@ -1324,6 +1328,7 @@ def overlay_heat_map( TOOLS_DF = get_tools_df(TOOLS) # type: ignore TOOL_DESCRIPTIONS = get_tool_descriptions(TOOLS) # type: ignore TOOL_DOCSTRING = get_tool_documentation(TOOLS) # type: ignore +TOOLS_INFO = get_tools_info(TOOLS) # type: ignore UTILITIES_DOCSTRING = get_tool_documentation( [ save_json,