From be085567ea5b43ea24f729d06cf8cec2442cd636 Mon Sep 17 00:00:00 2001 From: Leonardo Pinheiro Date: Sat, 8 Feb 2025 14:54:05 +1000 Subject: [PATCH] fix: remove sk tool adapter plugin name (#5444) ## Why are these changes needed? Semantic kernel prepends the plugin name to the tool name when passing the tools to model clients and this is causing a mismatch between tool names in SK and the AssistantAgent. Since plugin names are optional, we have opted to remove it. ## Related issue number Closes #5420 ## Checks - [ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally. - [ ] I've added tests (if relevant) corresponding to the changes introduced in this PR. - [ ] I've made sure all auto checks have passed. --------- Co-authored-by: Leonardo Pinheiro --- .../models/semantic_kernel/_sk_chat_completion_adapter.py | 2 +- .../tools/semantic_kernel/_kernel_function_from_tool.py | 2 +- .../tests/models/test_sk_chat_completion_adapter.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/python/packages/autogen-ext/src/autogen_ext/models/semantic_kernel/_sk_chat_completion_adapter.py b/python/packages/autogen-ext/src/autogen_ext/models/semantic_kernel/_sk_chat_completion_adapter.py index d0cf64c41..6cea28d0f 100644 --- a/python/packages/autogen-ext/src/autogen_ext/models/semantic_kernel/_sk_chat_completion_adapter.py +++ b/python/packages/autogen-ext/src/autogen_ext/models/semantic_kernel/_sk_chat_completion_adapter.py @@ -313,7 +313,7 @@ class SKChatCompletionAdapter(ChatCompletionClient): for tool in tools: if isinstance(tool, BaseTool): # Convert Tool to KernelFunction using KernelFunctionFromTool - kernel_function = KernelFunctionFromTool(tool, plugin_name="autogen_tools") # type: ignore + kernel_function = KernelFunctionFromTool(tool) # type: ignore self._tools_plugin.functions[tool.schema["name"]] = kernel_function def _process_tool_calls(self, result: ChatMessageContent) -> list[FunctionCall]: diff --git a/python/packages/autogen-ext/src/autogen_ext/tools/semantic_kernel/_kernel_function_from_tool.py b/python/packages/autogen-ext/src/autogen_ext/tools/semantic_kernel/_kernel_function_from_tool.py index a11646c87..1c2fec0e3 100644 --- a/python/packages/autogen-ext/src/autogen_ext/tools/semantic_kernel/_kernel_function_from_tool.py +++ b/python/packages/autogen-ext/src/autogen_ext/tools/semantic_kernel/_kernel_function_from_tool.py @@ -106,7 +106,7 @@ class KernelFunctionFromTool(KernelFunction): return_parameter=return_param, is_prompt=False, is_asynchronous=True, - plugin_name=plugin_name or "", + plugin_name=plugin_name, ) super().__init__(metadata=metadata) self._tool = tool diff --git a/python/packages/autogen-ext/tests/models/test_sk_chat_completion_adapter.py b/python/packages/autogen-ext/tests/models/test_sk_chat_completion_adapter.py index 71b74a9a0..1b5a6ea03 100644 --- a/python/packages/autogen-ext/tests/models/test_sk_chat_completion_adapter.py +++ b/python/packages/autogen-ext/tests/models/test_sk_chat_completion_adapter.py @@ -71,7 +71,7 @@ def sk_client() -> AzureChatCompletion: FunctionCallContent( id="call_UwVVI0iGEmcPwmKUigJcuuuF", function_name="calculator", - plugin_name="autogen_tools", + plugin_name=None, arguments="{}", ) ], @@ -113,7 +113,7 @@ def sk_client() -> AzureChatCompletion: FunctionCallContent( id="call_n8135GXc2kbiaaDdpImsB1VW", function_name="calculator", - plugin_name="autogen_tools", + plugin_name=None, arguments="", content_type="function_call", # type: ignore )