From 218e84fd8e0564faf7c28566279e78a69bf0879d Mon Sep 17 00:00:00 2001 From: Jack Gerrits Date: Mon, 9 Dec 2024 21:39:07 -0500 Subject: [PATCH] Migrate remaining components (#4626) --- .../agents/_assistant_agent.py | 2 +- .../agents/_tool_use_assistant_agent.py | 2 +- .../src/autogen_agentchat/base/_handoff.py | 2 +- .../tests/test_assistant_agent.py | 2 +- .../tests/test_group_chat.py | 2 +- .../autogen-core/docs/src/reference/index.md | 4 +- ..._agent.rst => autogen_core.tool_agent.rst} | 4 +- ...nents.tools.rst => autogen_core.tools.rst} | 4 +- .../examples/company-research.ipynb | 2 +- .../examples/literature-review.ipynb | 2 +- .../cookbook/tool-use-with-intervention.ipynb | 6 +- .../design-patterns/group-chat.ipynb | 4 +- .../design-patterns/handoffs.ipynb | 4 +- .../framework/message-and-communication.ipynb | 2 +- .../core-user-guide/framework/tools.ipynb | 24 ++--- .../autogen-core/samples/chess_game.py | 2 +- .../common/agents/_chat_completion_agent.py | 2 +- .../samples/slow_human_in_loop.py | 2 +- .../components/tool_agent/__init__.py | 68 +++++++++++-- .../autogen_core/components/tools/__init__.py | 99 ++++++++++++++++++- .../src/autogen_core/models/_model_client.py | 2 +- .../src/autogen_core/tool_agent/__init__.py | 17 ++++ .../tool_agent/_caller_loop.py | 4 +- .../tool_agent/_tool_agent.py | 4 +- .../src/autogen_core/tools/__init__.py | 15 +++ .../{components => }/tools/_base.py | 4 +- .../{components => }/tools/_code_execution.py | 4 +- .../{components => }/tools/_function_tool.py | 6 +- .../autogen-core/tests/test_tool_agent.py | 16 +-- .../packages/autogen-core/tests/test_tools.py | 4 +- .../agents/file_surfer/_tool_definitions.py | 2 +- .../agents/openai/_openai_assistant_agent.py | 2 +- .../agents/video_surfer/_video_surfer.py | 2 +- .../agents/web_surfer/_tool_definitions.py | 2 +- .../models/_openai/_openai_client.py | 2 +- .../models/_reply_chat_completion_client.py | 2 +- .../autogen_ext/tools/_langchain_adapter.py | 2 +- .../tests/models/test_openai_model_client.py | 2 +- .../tests/test_openai_assistant_agent.py | 2 +- .../agents/file_surfer/_tools.py | 2 +- .../multimodal_web_surfer/tool_definitions.py | 4 +- .../headless_web_surfer/test_web_surfer.py | 2 +- .../database/component_factory.py | 2 +- .../tests/test_component_factory.py | 2 +- 44 files changed, 262 insertions(+), 83 deletions(-) rename python/packages/autogen-core/docs/src/reference/python/{autogen_core.components.tool_agent.rst => autogen_core.tool_agent.rst} (51%) rename python/packages/autogen-core/docs/src/reference/python/{autogen_core.components.tools.rst => autogen_core.tools.rst} (53%) create mode 100644 python/packages/autogen-core/src/autogen_core/tool_agent/__init__.py rename python/packages/autogen-core/src/autogen_core/{components => }/tool_agent/_caller_loop.py (96%) rename python/packages/autogen-core/src/autogen_core/{components => }/tool_agent/_tool_agent.py (95%) create mode 100644 python/packages/autogen-core/src/autogen_core/tools/__init__.py rename python/packages/autogen-core/src/autogen_core/{components => }/tools/_base.py (98%) rename python/packages/autogen-core/src/autogen_core/{components => }/tools/_code_execution.py (92%) rename python/packages/autogen-core/src/autogen_core/{components => }/tools/_function_tool.py (96%) diff --git a/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py b/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py index 03684d3da279..14037d8cdf02 100644 --- a/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py +++ b/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py @@ -5,7 +5,6 @@ from typing import Any, AsyncGenerator, Awaitable, Callable, Dict, List, Mapping, Sequence from autogen_core import CancellationToken, FunctionCall -from autogen_core.components.tools import FunctionTool, Tool from autogen_core.models import ( AssistantMessage, ChatCompletionClient, @@ -15,6 +14,7 @@ SystemMessage, UserMessage, ) +from autogen_core.tools import FunctionTool, Tool from typing_extensions import deprecated from .. import EVENT_LOGGER_NAME diff --git a/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_tool_use_assistant_agent.py b/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_tool_use_assistant_agent.py index 6142b63ebba2..1ebe1f22662b 100644 --- a/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_tool_use_assistant_agent.py +++ b/python/packages/autogen-agentchat/src/autogen_agentchat/agents/_tool_use_assistant_agent.py @@ -2,10 +2,10 @@ import warnings from typing import Any, Awaitable, Callable, List -from autogen_core.components.tools import Tool from autogen_core.models import ( ChatCompletionClient, ) +from autogen_core.tools import Tool from .. import EVENT_LOGGER_NAME from ._assistant_agent import AssistantAgent diff --git a/python/packages/autogen-agentchat/src/autogen_agentchat/base/_handoff.py b/python/packages/autogen-agentchat/src/autogen_agentchat/base/_handoff.py index 3ab859a08e86..33efc5677708 100644 --- a/python/packages/autogen-agentchat/src/autogen_agentchat/base/_handoff.py +++ b/python/packages/autogen-agentchat/src/autogen_agentchat/base/_handoff.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict -from autogen_core.components.tools import FunctionTool, Tool +from autogen_core.tools import FunctionTool, Tool from pydantic import BaseModel, Field, model_validator from .. import EVENT_LOGGER_NAME diff --git a/python/packages/autogen-agentchat/tests/test_assistant_agent.py b/python/packages/autogen-agentchat/tests/test_assistant_agent.py index c09a92a28d3d..479f1c2006ea 100644 --- a/python/packages/autogen-agentchat/tests/test_assistant_agent.py +++ b/python/packages/autogen-agentchat/tests/test_assistant_agent.py @@ -15,7 +15,7 @@ ToolCallResultMessage, ) from autogen_core import Image -from autogen_core.components.tools import FunctionTool +from autogen_core.tools import FunctionTool from autogen_ext.models import OpenAIChatCompletionClient from openai.resources.chat.completions import AsyncCompletions from openai.types.chat.chat_completion import ChatCompletion, Choice diff --git a/python/packages/autogen-agentchat/tests/test_group_chat.py b/python/packages/autogen-agentchat/tests/test_group_chat.py index ca477962facf..cf3ba0b206c8 100644 --- a/python/packages/autogen-agentchat/tests/test_group_chat.py +++ b/python/packages/autogen-agentchat/tests/test_group_chat.py @@ -33,8 +33,8 @@ from autogen_agentchat.teams._group_chat._swarm_group_chat import SwarmGroupChatManager from autogen_agentchat.ui import Console from autogen_core import AgentId, CancellationToken, FunctionCall -from autogen_core.components.tools import FunctionTool from autogen_core.models import FunctionExecutionResult +from autogen_core.tools import FunctionTool from autogen_ext.code_executors.local import LocalCommandLineCodeExecutor from autogen_ext.models import OpenAIChatCompletionClient, ReplayChatCompletionClient from openai.resources.chat.completions import AsyncCompletions diff --git a/python/packages/autogen-core/docs/src/reference/index.md b/python/packages/autogen-core/docs/src/reference/index.md index 5e81a2cb151c..6441e86ef4ec 100644 --- a/python/packages/autogen-core/docs/src/reference/index.md +++ b/python/packages/autogen-core/docs/src/reference/index.md @@ -29,8 +29,8 @@ python/autogen_core python/autogen_core.code_executor python/autogen_core.models python/autogen_core.model_context -python/autogen_core.components.tools -python/autogen_core.components.tool_agent +python/autogen_core.tools +python/autogen_core.tool_agent python/autogen_core.exceptions python/autogen_core.logging ``` diff --git a/python/packages/autogen-core/docs/src/reference/python/autogen_core.components.tool_agent.rst b/python/packages/autogen-core/docs/src/reference/python/autogen_core.tool_agent.rst similarity index 51% rename from python/packages/autogen-core/docs/src/reference/python/autogen_core.components.tool_agent.rst rename to python/packages/autogen-core/docs/src/reference/python/autogen_core.tool_agent.rst index b18b93d8a394..18e8e8a7df5b 100644 --- a/python/packages/autogen-core/docs/src/reference/python/autogen_core.components.tool_agent.rst +++ b/python/packages/autogen-core/docs/src/reference/python/autogen_core.tool_agent.rst @@ -1,8 +1,8 @@ -autogen\_core.components.tool\_agent +autogen\_core.tool\_agent ==================================== -.. automodule:: autogen_core.components.tool_agent +.. automodule:: autogen_core.tool_agent :members: :undoc-members: :show-inheritance: diff --git a/python/packages/autogen-core/docs/src/reference/python/autogen_core.components.tools.rst b/python/packages/autogen-core/docs/src/reference/python/autogen_core.tools.rst similarity index 53% rename from python/packages/autogen-core/docs/src/reference/python/autogen_core.components.tools.rst rename to python/packages/autogen-core/docs/src/reference/python/autogen_core.tools.rst index 9895f97b5a9b..d4cba212476b 100644 --- a/python/packages/autogen-core/docs/src/reference/python/autogen_core.components.tools.rst +++ b/python/packages/autogen-core/docs/src/reference/python/autogen_core.tools.rst @@ -1,8 +1,8 @@ -autogen\_core.components.tools +autogen\_core.tools ============================== -.. automodule:: autogen_core.components.tools +.. automodule:: autogen_core.tools :members: :undoc-members: :show-inheritance: diff --git a/python/packages/autogen-core/docs/src/user-guide/agentchat-user-guide/examples/company-research.ipynb b/python/packages/autogen-core/docs/src/user-guide/agentchat-user-guide/examples/company-research.ipynb index 3cc8bcbee0c5..8f4147b031bc 100644 --- a/python/packages/autogen-core/docs/src/user-guide/agentchat-user-guide/examples/company-research.ipynb +++ b/python/packages/autogen-core/docs/src/user-guide/agentchat-user-guide/examples/company-research.ipynb @@ -25,7 +25,7 @@ "from autogen_agentchat.agents import CodingAssistantAgent, ToolUseAssistantAgent\n", "from autogen_agentchat.conditions import TextMentionTermination\n", "from autogen_agentchat.teams import RoundRobinGroupChat\n", - "from autogen_core.components.tools import FunctionTool\n", + "from autogen_core.tools import FunctionTool\n", "from autogen_ext.models import OpenAIChatCompletionClient" ] }, diff --git a/python/packages/autogen-core/docs/src/user-guide/agentchat-user-guide/examples/literature-review.ipynb b/python/packages/autogen-core/docs/src/user-guide/agentchat-user-guide/examples/literature-review.ipynb index e769a84b1bd5..a224f26ef36e 100644 --- a/python/packages/autogen-core/docs/src/user-guide/agentchat-user-guide/examples/literature-review.ipynb +++ b/python/packages/autogen-core/docs/src/user-guide/agentchat-user-guide/examples/literature-review.ipynb @@ -25,7 +25,7 @@ "from autogen_agentchat.agents import CodingAssistantAgent, ToolUseAssistantAgent\n", "from autogen_agentchat.conditions import TextMentionTermination\n", "from autogen_agentchat.teams import RoundRobinGroupChat\n", - "from autogen_core.components.tools import FunctionTool\n", + "from autogen_core.tools import FunctionTool\n", "from autogen_ext.models import OpenAIChatCompletionClient" ] }, diff --git a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/cookbook/tool-use-with-intervention.ipynb b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/cookbook/tool-use-with-intervention.ipynb index 9ef2f26d4937..4a8d8d4943f2 100644 --- a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/cookbook/tool-use-with-intervention.ipynb +++ b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/cookbook/tool-use-with-intervention.ipynb @@ -29,7 +29,6 @@ " message_handler,\n", ")\n", "from autogen_core.base.intervention import DefaultInterventionHandler, DropMessage\n", - "from autogen_core.components.tools import PythonCodeExecutionTool, ToolSchema\n", "from autogen_core.models import (\n", " ChatCompletionClient,\n", " LLMMessage,\n", @@ -37,6 +36,7 @@ " UserMessage,\n", ")\n", "from autogen_core.tool_agent import ToolAgent, ToolException, tool_agent_caller_loop\n", + "from autogen_core.tools import PythonCodeExecutionTool, ToolSchema\n", "from autogen_ext.code_executors.docker import DockerCommandLineCodeExecutor\n", "from autogen_ext.models import OpenAIChatCompletionClient" ] @@ -64,7 +64,7 @@ "metadata": {}, "source": [ "Let's create a simple tool use agent that is capable of using tools through a\n", - "{py:class}`~autogen_core.components.tool_agent.ToolAgent`." + "{py:class}`~autogen_core.tool_agent.ToolAgent`." ] }, { @@ -165,7 +165,7 @@ "First, we create a Docker-based command-line code executor\n", "using {py:class}`~autogen_ext.code_executors.docker.DockerCommandLineCodeExecutor`,\n", "and then use it to instantiate a built-in Python code execution tool\n", - "{py:class}`~autogen_core.components.tools.PythonCodeExecutionTool`\n", + "{py:class}`~autogen_core.tools.PythonCodeExecutionTool`\n", "that runs code in a Docker container." ] }, diff --git a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/design-patterns/group-chat.ipynb b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/design-patterns/group-chat.ipynb index a5e51d85adc1..6e8169881c7d 100644 --- a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/design-patterns/group-chat.ipynb +++ b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/design-patterns/group-chat.ipynb @@ -83,7 +83,6 @@ " TypeSubscription,\n", " message_handler,\n", ")\n", - "from autogen_core.components.tools import FunctionTool\n", "from autogen_core.models import (\n", " AssistantMessage,\n", " ChatCompletionClient,\n", @@ -91,6 +90,7 @@ " SystemMessage,\n", " UserMessage,\n", ")\n", + "from autogen_core.tools import FunctionTool\n", "from autogen_ext.models import OpenAIChatCompletionClient\n", "from IPython.display import display # type: ignore\n", "from pydantic import BaseModel\n", @@ -233,7 +233,7 @@ "\n", "Now let's define the `IllustratorAgent` which uses a DALL-E model to generate\n", "an illustration based on the description provided.\n", - "We set up the image generator as a tool using {py:class}`~autogen_core.components.tools.FunctionTool`\n", + "We set up the image generator as a tool using {py:class}`~autogen_core.tools.FunctionTool`\n", "wrapper, and use a model client to make the tool call." ] }, diff --git a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/design-patterns/handoffs.ipynb b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/design-patterns/handoffs.ipynb index 6c86ed5d95cb..b40443cee509 100644 --- a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/design-patterns/handoffs.ipynb +++ b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/design-patterns/handoffs.ipynb @@ -65,7 +65,6 @@ " TypeSubscription,\n", " message_handler,\n", ")\n", - "from autogen_core.components.tools import FunctionTool, Tool\n", "from autogen_core.models import (\n", " AssistantMessage,\n", " ChatCompletionClient,\n", @@ -75,6 +74,7 @@ " SystemMessage,\n", " UserMessage,\n", ")\n", + "from autogen_core.tools import FunctionTool, Tool\n", "from autogen_ext.models import OpenAIChatCompletionClient\n", "from pydantic import BaseModel" ] @@ -339,7 +339,7 @@ "\n", "The AI agents can use regular tools to complete tasks if they don't need to hand off the task to other agents.\n", "We define the tools using simple functions and create the tools using the\n", - "{py:class}`~autogen_core.components.tools.FunctionTool` wrapper." + "{py:class}`~autogen_core.tools.FunctionTool` wrapper." ] }, { diff --git a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/framework/message-and-communication.ipynb b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/framework/message-and-communication.ipynb index a775c0f5963a..b9a8f423a7e2 100644 --- a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/framework/message-and-communication.ipynb +++ b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/framework/message-and-communication.ipynb @@ -368,7 +368,7 @@ "recipient are tightly coupled -- they are created together and the sender\n", "is linked to a specific instance of the recipient.\n", "For example, an agent executes tool calls by sending direct messages to\n", - "an instance of {py:class}`~autogen_core.components.tool_agent.ToolAgent`,\n", + "an instance of {py:class}`~autogen_core.tool_agent.ToolAgent`,\n", "and uses the responses to form an action-observation loop." ] }, diff --git a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/framework/tools.ipynb b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/framework/tools.ipynb index d8e318bd9149..26f140302c09 100644 --- a/python/packages/autogen-core/docs/src/user-guide/core-user-guide/framework/tools.ipynb +++ b/python/packages/autogen-core/docs/src/user-guide/core-user-guide/framework/tools.ipynb @@ -12,7 +12,7 @@ "In the context of AI agents, tools are designed to be executed by agents in\n", "response to model-generated function calls.\n", "\n", - "AutoGen provides the {py:mod}`autogen_core.components.tools` module with a suite of built-in\n", + "AutoGen provides the {py:mod}`autogen_core.tools` module with a suite of built-in\n", "tools and utilities for creating and running custom tools." ] }, @@ -22,7 +22,7 @@ "source": [ "## Built-in Tools\n", "\n", - "One of the built-in tools is the {py:class}`~autogen_core.components.tools.PythonCodeExecutionTool`,\n", + "One of the built-in tools is the {py:class}`~autogen_core.tools.PythonCodeExecutionTool`,\n", "which allows agents to execute Python code snippets.\n", "\n", "Here is how you create the tool and use it." @@ -44,7 +44,7 @@ ], "source": [ "from autogen_core import CancellationToken\n", - "from autogen_core.components.tools import PythonCodeExecutionTool\n", + "from autogen_core.tools import PythonCodeExecutionTool\n", "from autogen_ext.code_executors.docker import DockerCommandLineCodeExecutor\n", "\n", "# Create the tool.\n", @@ -73,7 +73,7 @@ "The {py:class}`~autogen_ext.code_executors.docker.DockerCommandLineCodeExecutor`\n", "class is a built-in code executor that runs Python code snippets in a subprocess\n", "in the command line environment of a docker container.\n", - "The {py:class}`~autogen_core.components.tools.PythonCodeExecutionTool` class wraps the code executor\n", + "The {py:class}`~autogen_core.tools.PythonCodeExecutionTool` class wraps the code executor\n", "and provides a simple interface to execute Python code snippets.\n", "\n", "Other built-in tools will be added in the future." @@ -87,9 +87,9 @@ "\n", "A tool can also be a simple Python function that performs a specific action.\n", "To create a custom function tool, you just need to create a Python function\n", - "and use the {py:class}`~autogen_core.components.tools.FunctionTool` class to wrap it.\n", + "and use the {py:class}`~autogen_core.tools.FunctionTool` class to wrap it.\n", "\n", - "The {py:class}`~autogen_core.components.tools.FunctionTool` class uses descriptions and type annotations\n", + "The {py:class}`~autogen_core.tools.FunctionTool` class uses descriptions and type annotations\n", "to inform the LLM when and how to use a given function. The description provides context\n", "about the function’s purpose and intended use cases, while type annotations inform the LLM about\n", "the expected parameters and return type.\n", @@ -114,7 +114,7 @@ "import random\n", "\n", "from autogen_core import CancellationToken\n", - "from autogen_core.components.tools import FunctionTool\n", + "from autogen_core.tools import FunctionTool\n", "from typing_extensions import Annotated\n", "\n", "\n", @@ -140,9 +140,9 @@ "source": [ "## Tool-Equipped Agent\n", "\n", - "To use tools with an agent, you can use {py:class}`~autogen_core.components.tool_agent.ToolAgent`,\n", + "To use tools with an agent, you can use {py:class}`~autogen_core.tool_agent.ToolAgent`,\n", "by using it in a composition pattern.\n", - "Here is an example tool-use agent that uses {py:class}`~autogen_core.components.tool_agent.ToolAgent`\n", + "Here is an example tool-use agent that uses {py:class}`~autogen_core.tool_agent.ToolAgent`\n", "as an inner agent for executing tools." ] }, @@ -163,7 +163,6 @@ " SingleThreadedAgentRuntime,\n", " message_handler,\n", ")\n", - "from autogen_core.components.tools import FunctionTool, Tool, ToolSchema\n", "from autogen_core.models import (\n", " ChatCompletionClient,\n", " LLMMessage,\n", @@ -171,6 +170,7 @@ " UserMessage,\n", ")\n", "from autogen_core.tool_agent import ToolAgent, tool_agent_caller_loop\n", + "from autogen_core.tools import FunctionTool, Tool, ToolSchema\n", "from autogen_ext.models import OpenAIChatCompletionClient\n", "\n", "\n", @@ -209,7 +209,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The `ToolUseAgent` class uses a convenience function {py:meth}`~autogen_core.components.tool_agent.tool_agent_caller_loop`, \n", + "The `ToolUseAgent` class uses a convenience function {py:meth}`~autogen_core.tool_agent.tool_agent_caller_loop`, \n", "to handle the interaction between the model and the tool agent.\n", "The core idea can be described using a simple control flow graph:\n", "\n", @@ -218,7 +218,7 @@ "The `ToolUseAgent`'s `handle_user_message` handler handles messages from the user,\n", "and determines whether the model has generated a tool call.\n", "If the model has generated tool calls, then the handler sends a function call\n", - "message to the {py:class}`~autogen_core.components.tool_agent.ToolAgent` agent\n", + "message to the {py:class}`~autogen_core.tool_agent.ToolAgent` agent\n", "to execute the tools,\n", "and then queries the model again with the results of the tool calls.\n", "This process continues until the model stops generating tool calls,\n", diff --git a/python/packages/autogen-core/samples/chess_game.py b/python/packages/autogen-core/samples/chess_game.py index b2a50f5140c3..b359772aa460 100644 --- a/python/packages/autogen-core/samples/chess_game.py +++ b/python/packages/autogen-core/samples/chess_game.py @@ -15,9 +15,9 @@ DefaultTopicId, SingleThreadedAgentRuntime, ) -from autogen_core.components.tools import FunctionTool from autogen_core.model_context import BufferedChatCompletionContext from autogen_core.models import SystemMessage +from autogen_core.tools import FunctionTool from chess import BLACK, SQUARE_NAMES, WHITE, Board, Move from chess import piece_name as get_piece_name from common.agents._chat_completion_agent import ChatCompletionAgent diff --git a/python/packages/autogen-core/samples/common/agents/_chat_completion_agent.py b/python/packages/autogen-core/samples/common/agents/_chat_completion_agent.py index c0e50d9d2c01..246861cb6da8 100644 --- a/python/packages/autogen-core/samples/common/agents/_chat_completion_agent.py +++ b/python/packages/autogen-core/samples/common/agents/_chat_completion_agent.py @@ -11,7 +11,6 @@ RoutedAgent, message_handler, ) -from autogen_core.components.tools import Tool from autogen_core.model_context import ChatCompletionContext from autogen_core.models import ( AssistantMessage, @@ -21,6 +20,7 @@ SystemMessage, UserMessage, ) +from autogen_core.tools import Tool from ..types import ( FunctionCallMessage, diff --git a/python/packages/autogen-core/samples/slow_human_in_loop.py b/python/packages/autogen-core/samples/slow_human_in_loop.py index df8530b1aa04..9c4476d06b5c 100644 --- a/python/packages/autogen-core/samples/slow_human_in_loop.py +++ b/python/packages/autogen-core/samples/slow_human_in_loop.py @@ -42,7 +42,6 @@ type_subscription, ) from autogen_core.base.intervention import DefaultInterventionHandler -from autogen_core.components.tools import BaseTool from autogen_core.model_context import BufferedChatCompletionContext from autogen_core.models import ( AssistantMessage, @@ -50,6 +49,7 @@ SystemMessage, UserMessage, ) +from autogen_core.tools import BaseTool from common.types import TextMessage from common.utils import get_chat_completion_client_from_envs from pydantic import BaseModel, Field diff --git a/python/packages/autogen-core/src/autogen_core/components/tool_agent/__init__.py b/python/packages/autogen-core/src/autogen_core/components/tool_agent/__init__.py index e072efdd7cd2..ff03136668e2 100644 --- a/python/packages/autogen-core/src/autogen_core/components/tool_agent/__init__.py +++ b/python/packages/autogen-core/src/autogen_core/components/tool_agent/__init__.py @@ -1,11 +1,23 @@ -from ._caller_loop import tool_agent_caller_loop -from ._tool_agent import ( - InvalidToolArgumentsException, - ToolAgent, - ToolException, - ToolExecutionException, - ToolNotFoundException, +from typing import Any + +from typing_extensions import deprecated + +from ...tool_agent import ( + InvalidToolArgumentsException as InvalidToolArgumentsExceptionAlias, +) +from ...tool_agent import ( + ToolAgent as ToolAgentAlias, +) +from ...tool_agent import ( + ToolException as ToolExceptionAlias, +) +from ...tool_agent import ( + ToolExecutionException as ToolExecutionExceptionAlias, +) +from ...tool_agent import ( + ToolNotFoundException as ToolNotFoundExceptionAlias, ) +from ...tool_agent import tool_agent_caller_loop as tool_agent_caller_loop_alias __all__ = [ "ToolAgent", @@ -15,3 +27,45 @@ "ToolExecutionException", "tool_agent_caller_loop", ] + + +@deprecated( + "autogen_core.tool_agent.ToolAgentAlias moved to autogen_core.tool_agent.ToolAgentAlias. This alias will be removed in 0.4.0." +) +class ToolAgent(ToolAgentAlias): + pass + + +@deprecated( + "autogen_core.tool_agent.ToolExceptionAlias moved to autogen_core.tool_agent.ToolExceptionAlias. This alias will be removed in 0.4.0." +) +class ToolException(ToolExceptionAlias): + pass + + +@deprecated( + "autogen_core.tool_agent.ToolNotFoundExceptionAlias moved to autogen_core.tool_agent.ToolNotFoundExceptionAlias. This alias will be removed in 0.4.0." +) +class ToolNotFoundException(ToolNotFoundExceptionAlias): + pass + + +@deprecated( + "autogen_core.tool_agent.InvalidToolArgumentsExceptionAlias moved to autogen_core.tool_agent.InvalidToolArgumentsExceptionAlias. This alias will be removed in 0.4.0." +) +class InvalidToolArgumentsException(InvalidToolArgumentsExceptionAlias): + pass + + +@deprecated( + "autogen_core.tool_agent.ToolExecutionExceptionAlias moved to autogen_core.tool_agent.ToolExecutionExceptionAlias. This alias will be removed in 0.4.0." +) +class ToolExecutionException(ToolExecutionExceptionAlias): + pass + + +@deprecated( + "autogen_core.tool_agent.tool_agent_caller_loop moved to autogen_core.tool_agent.tool_agent_caller_loop. This alias will be removed in 0.4.0." +) +def tool_agent_caller_loop(*args: Any, **kwargs: Any) -> Any: + return tool_agent_caller_loop_alias(*args, **kwargs) # type: ignore diff --git a/python/packages/autogen-core/src/autogen_core/components/tools/__init__.py b/python/packages/autogen-core/src/autogen_core/components/tools/__init__.py index dcfb1759a91d..e3c480fee302 100644 --- a/python/packages/autogen-core/src/autogen_core/components/tools/__init__.py +++ b/python/packages/autogen-core/src/autogen_core/components/tools/__init__.py @@ -1,6 +1,33 @@ -from ._base import BaseTool, BaseToolWithState, ParametersSchema, Tool, ToolSchema -from ._code_execution import CodeExecutionInput, CodeExecutionResult, PythonCodeExecutionTool -from ._function_tool import FunctionTool +from typing import TypeVar + +from pydantic import BaseModel +from typing_extensions import deprecated + +from ...tools import ( + BaseTool as BaseToolAlias, +) +from ...tools import ( + BaseToolWithState as BaseToolWithStateAlias, +) +from ...tools import ( + CodeExecutionInput as CodeExecutionInputAlias, +) +from ...tools import ( + CodeExecutionResult as CodeExecutionResultAlias, +) +from ...tools import FunctionTool as FunctionToolAlias +from ...tools import ( + ParametersSchema as ParametersSchemaAlias, +) +from ...tools import ( + PythonCodeExecutionTool as PythonCodeExecutionToolAlias, +) +from ...tools import ( + Tool as ToolAlias, +) +from ...tools import ( + ToolSchema as ToolSchemaAlias, +) __all__ = [ "Tool", @@ -13,3 +40,69 @@ "CodeExecutionResult", "FunctionTool", ] + + +ArgsT = TypeVar("ArgsT", bound=BaseModel, contravariant=True) +ReturnT = TypeVar("ReturnT", bound=BaseModel, covariant=True) +StateT = TypeVar("StateT", bound=BaseModel) + + +@deprecated( + "autogen_core.tools.BaseToolAlias moved to autogen_core.tools.BaseToolAlias. This alias will be removed in 0.4.0." +) +class BaseTool(BaseToolAlias[ArgsT, ReturnT]): + pass + + +@deprecated("autogen_core.tools.ToolAlias moved to autogen_core.tools.ToolAlias. This alias will be removed in 0.4.0.") +class Tool(ToolAlias): + pass + + +@deprecated( + "autogen_core.tools.ToolSchemaAlias moved to autogen_core.tools.ToolSchemaAlias. This alias will be removed in 0.4.0." +) +class ToolSchema(ToolSchemaAlias): + pass + + +@deprecated( + "autogen_core.tools.ParametersSchemaAlias moved to autogen_core.tools.ParametersSchemaAlias. This alias will be removed in 0.4.0." +) +class ParametersSchema(ParametersSchemaAlias): + pass + + +@deprecated( + "autogen_core.tools.BaseToolWithStateAlias moved to autogen_core.tools.BaseToolWithStateAlias. This alias will be removed in 0.4.0." +) +class BaseToolWithState(BaseToolWithStateAlias[ArgsT, ReturnT, StateT]): + pass + + +@deprecated( + "autogen_core.tools.PythonCodeExecutionToolAlias moved to autogen_core.tools.PythonCodeExecutionToolAlias. This alias will be removed in 0.4.0." +) +class PythonCodeExecutionTool(PythonCodeExecutionToolAlias): + pass + + +@deprecated( + "autogen_core.tools.CodeExecutionInputAlias moved to autogen_core.tools.CodeExecutionInputAlias. This alias will be removed in 0.4.0." +) +class CodeExecutionInput(CodeExecutionInputAlias): + pass + + +@deprecated( + "autogen_core.tools.CodeExecutionResultAlias moved to autogen_core.tools.CodeExecutionResultAlias. This alias will be removed in 0.4.0." +) +class CodeExecutionResult(CodeExecutionResultAlias): + pass + + +@deprecated( + "autogen_core.tools.FunctionToolAlias moved to autogen_core.tools.FunctionToolAlias. This alias will be removed in 0.4.0." +) +class FunctionTool(FunctionToolAlias): + pass diff --git a/python/packages/autogen-core/src/autogen_core/models/_model_client.py b/python/packages/autogen-core/src/autogen_core/models/_model_client.py index fef42da5d8ee..c141c480dd78 100644 --- a/python/packages/autogen-core/src/autogen_core/models/_model_client.py +++ b/python/packages/autogen-core/src/autogen_core/models/_model_client.py @@ -12,7 +12,7 @@ ) from .. import CancellationToken -from ..components.tools import Tool, ToolSchema +from ..tools import Tool, ToolSchema from ._types import CreateResult, LLMMessage, RequestUsage diff --git a/python/packages/autogen-core/src/autogen_core/tool_agent/__init__.py b/python/packages/autogen-core/src/autogen_core/tool_agent/__init__.py new file mode 100644 index 000000000000..e072efdd7cd2 --- /dev/null +++ b/python/packages/autogen-core/src/autogen_core/tool_agent/__init__.py @@ -0,0 +1,17 @@ +from ._caller_loop import tool_agent_caller_loop +from ._tool_agent import ( + InvalidToolArgumentsException, + ToolAgent, + ToolException, + ToolExecutionException, + ToolNotFoundException, +) + +__all__ = [ + "ToolAgent", + "ToolException", + "ToolNotFoundException", + "InvalidToolArgumentsException", + "ToolExecutionException", + "tool_agent_caller_loop", +] diff --git a/python/packages/autogen-core/src/autogen_core/components/tool_agent/_caller_loop.py b/python/packages/autogen-core/src/autogen_core/tool_agent/_caller_loop.py similarity index 96% rename from python/packages/autogen-core/src/autogen_core/components/tool_agent/_caller_loop.py rename to python/packages/autogen-core/src/autogen_core/tool_agent/_caller_loop.py index 9a26fe015534..2353ca184f86 100644 --- a/python/packages/autogen-core/src/autogen_core/components/tool_agent/_caller_loop.py +++ b/python/packages/autogen-core/src/autogen_core/tool_agent/_caller_loop.py @@ -1,8 +1,8 @@ import asyncio from typing import List -from ... import AgentId, AgentRuntime, BaseAgent, CancellationToken, FunctionCall -from ...models import ( +from .. import AgentId, AgentRuntime, BaseAgent, CancellationToken, FunctionCall +from ..models import ( AssistantMessage, ChatCompletionClient, FunctionExecutionResult, diff --git a/python/packages/autogen-core/src/autogen_core/components/tool_agent/_tool_agent.py b/python/packages/autogen-core/src/autogen_core/tool_agent/_tool_agent.py similarity index 95% rename from python/packages/autogen-core/src/autogen_core/components/tool_agent/_tool_agent.py rename to python/packages/autogen-core/src/autogen_core/tool_agent/_tool_agent.py index a2e5b9ca0a32..08d8f4b25376 100644 --- a/python/packages/autogen-core/src/autogen_core/components/tool_agent/_tool_agent.py +++ b/python/packages/autogen-core/src/autogen_core/tool_agent/_tool_agent.py @@ -2,8 +2,8 @@ from dataclasses import dataclass from typing import List -from ... import FunctionCall, MessageContext, RoutedAgent, message_handler -from ...models import FunctionExecutionResult +from .. import FunctionCall, MessageContext, RoutedAgent, message_handler +from ..models import FunctionExecutionResult from ..tools import Tool __all__ = [ diff --git a/python/packages/autogen-core/src/autogen_core/tools/__init__.py b/python/packages/autogen-core/src/autogen_core/tools/__init__.py new file mode 100644 index 000000000000..dcfb1759a91d --- /dev/null +++ b/python/packages/autogen-core/src/autogen_core/tools/__init__.py @@ -0,0 +1,15 @@ +from ._base import BaseTool, BaseToolWithState, ParametersSchema, Tool, ToolSchema +from ._code_execution import CodeExecutionInput, CodeExecutionResult, PythonCodeExecutionTool +from ._function_tool import FunctionTool + +__all__ = [ + "Tool", + "ToolSchema", + "ParametersSchema", + "BaseTool", + "BaseToolWithState", + "PythonCodeExecutionTool", + "CodeExecutionInput", + "CodeExecutionResult", + "FunctionTool", +] diff --git a/python/packages/autogen-core/src/autogen_core/components/tools/_base.py b/python/packages/autogen-core/src/autogen_core/tools/_base.py similarity index 98% rename from python/packages/autogen-core/src/autogen_core/components/tools/_base.py rename to python/packages/autogen-core/src/autogen_core/tools/_base.py index b41d747d65b2..7c4042e9afd6 100644 --- a/python/packages/autogen-core/src/autogen_core/components/tools/_base.py +++ b/python/packages/autogen-core/src/autogen_core/tools/_base.py @@ -7,8 +7,8 @@ from pydantic import BaseModel from typing_extensions import NotRequired -from ... import CancellationToken -from ..._function_utils import normalize_annotated_type +from .. import CancellationToken +from .._function_utils import normalize_annotated_type T = TypeVar("T", bound=BaseModel, contravariant=True) diff --git a/python/packages/autogen-core/src/autogen_core/components/tools/_code_execution.py b/python/packages/autogen-core/src/autogen_core/tools/_code_execution.py similarity index 92% rename from python/packages/autogen-core/src/autogen_core/components/tools/_code_execution.py rename to python/packages/autogen-core/src/autogen_core/tools/_code_execution.py index eb792a32fef6..f3f2b072e6fd 100644 --- a/python/packages/autogen-core/src/autogen_core/components/tools/_code_execution.py +++ b/python/packages/autogen-core/src/autogen_core/tools/_code_execution.py @@ -1,7 +1,7 @@ from pydantic import BaseModel, Field, model_serializer -from ... import CancellationToken -from ...code_executor import CodeBlock, CodeExecutor +from .. import CancellationToken +from ..code_executor import CodeBlock, CodeExecutor from ._base import BaseTool diff --git a/python/packages/autogen-core/src/autogen_core/components/tools/_function_tool.py b/python/packages/autogen-core/src/autogen_core/tools/_function_tool.py similarity index 96% rename from python/packages/autogen-core/src/autogen_core/components/tools/_function_tool.py rename to python/packages/autogen-core/src/autogen_core/tools/_function_tool.py index 45041121caeb..026fc845e9c2 100644 --- a/python/packages/autogen-core/src/autogen_core/components/tools/_function_tool.py +++ b/python/packages/autogen-core/src/autogen_core/tools/_function_tool.py @@ -4,8 +4,8 @@ from pydantic import BaseModel -from ... import CancellationToken -from ..._function_utils import ( +from .. import CancellationToken +from .._function_utils import ( args_base_model_from_signature, get_typed_signature, ) @@ -39,7 +39,7 @@ class FunctionTool(BaseTool[BaseModel, BaseModel]): import random from autogen_core import CancellationToken - from autogen_core.components.tools import FunctionTool + from autogen_core.tools import FunctionTool from typing_extensions import Annotated import asyncio diff --git a/python/packages/autogen-core/tests/test_tool_agent.py b/python/packages/autogen-core/tests/test_tool_agent.py index f17ce64242ab..d0d6dec8915b 100644 --- a/python/packages/autogen-core/tests/test_tool_agent.py +++ b/python/packages/autogen-core/tests/test_tool_agent.py @@ -4,14 +4,6 @@ import pytest from autogen_core import AgentId, CancellationToken, FunctionCall, SingleThreadedAgentRuntime -from autogen_core.components.tool_agent import ( - InvalidToolArgumentsException, - ToolAgent, - ToolExecutionException, - ToolNotFoundException, - tool_agent_caller_loop, -) -from autogen_core.components.tools import FunctionTool, Tool, ToolSchema from autogen_core.models import ( AssistantMessage, ChatCompletionClient, @@ -23,6 +15,14 @@ RequestUsage, UserMessage, ) +from autogen_core.tool_agent import ( + InvalidToolArgumentsException, + ToolAgent, + ToolExecutionException, + ToolNotFoundException, + tool_agent_caller_loop, +) +from autogen_core.tools import FunctionTool, Tool, ToolSchema def _pass_function(input: str) -> str: diff --git a/python/packages/autogen-core/tests/test_tools.py b/python/packages/autogen-core/tests/test_tools.py index b35986423dbe..64d97e11519d 100644 --- a/python/packages/autogen-core/tests/test_tools.py +++ b/python/packages/autogen-core/tests/test_tools.py @@ -4,8 +4,8 @@ import pytest from autogen_core import CancellationToken from autogen_core._function_utils import get_typed_signature -from autogen_core.components.tools import BaseTool, FunctionTool -from autogen_core.components.tools._base import ToolSchema +from autogen_core.tools import BaseTool, FunctionTool +from autogen_core.tools._base import ToolSchema from pydantic import BaseModel, Field, model_serializer from pydantic_core import PydanticUndefined diff --git a/python/packages/autogen-ext/src/autogen_ext/agents/file_surfer/_tool_definitions.py b/python/packages/autogen-ext/src/autogen_ext/agents/file_surfer/_tool_definitions.py index b4c8ad9011a2..462061d14428 100644 --- a/python/packages/autogen-ext/src/autogen_ext/agents/file_surfer/_tool_definitions.py +++ b/python/packages/autogen-ext/src/autogen_ext/agents/file_surfer/_tool_definitions.py @@ -1,4 +1,4 @@ -from autogen_core.components.tools import ParametersSchema, ToolSchema +from autogen_core.tools import ParametersSchema, ToolSchema TOOL_OPEN_PATH = ToolSchema( name="open_path", diff --git a/python/packages/autogen-ext/src/autogen_ext/agents/openai/_openai_assistant_agent.py b/python/packages/autogen-ext/src/autogen_ext/agents/openai/_openai_assistant_agent.py index 8a4b31975bad..4e16d7001d6c 100644 --- a/python/packages/autogen-ext/src/autogen_ext/agents/openai/_openai_assistant_agent.py +++ b/python/packages/autogen-ext/src/autogen_ext/agents/openai/_openai_assistant_agent.py @@ -33,8 +33,8 @@ ToolCallResultMessage, ) from autogen_core import CancellationToken, FunctionCall -from autogen_core.components.tools import FunctionTool, Tool from autogen_core.models._types import FunctionExecutionResult +from autogen_core.tools import FunctionTool, Tool _has_openai_dependencies: bool = True try: diff --git a/python/packages/autogen-ext/src/autogen_ext/agents/video_surfer/_video_surfer.py b/python/packages/autogen-ext/src/autogen_ext/agents/video_surfer/_video_surfer.py index d74161df17e5..21146c3c72b0 100644 --- a/python/packages/autogen-ext/src/autogen_ext/agents/video_surfer/_video_surfer.py +++ b/python/packages/autogen-ext/src/autogen_ext/agents/video_surfer/_video_surfer.py @@ -1,8 +1,8 @@ from typing import Any, Awaitable, Callable, List, Optional from autogen_agentchat.agents import AssistantAgent -from autogen_core.components.tools import Tool from autogen_core.models import ChatCompletionClient +from autogen_core.tools import Tool from .tools import ( extract_audio, diff --git a/python/packages/autogen-ext/src/autogen_ext/agents/web_surfer/_tool_definitions.py b/python/packages/autogen-ext/src/autogen_ext/agents/web_surfer/_tool_definitions.py index 5d54d5ff1238..fd2928248596 100644 --- a/python/packages/autogen-ext/src/autogen_ext/agents/web_surfer/_tool_definitions.py +++ b/python/packages/autogen-ext/src/autogen_ext/agents/web_surfer/_tool_definitions.py @@ -1,6 +1,6 @@ from typing import Any, Dict -from autogen_core.components.tools._base import ParametersSchema, ToolSchema +from autogen_core.tools._base import ParametersSchema, ToolSchema def _load_tool(tooldef: Dict[str, Any]) -> ToolSchema: diff --git a/python/packages/autogen-ext/src/autogen_ext/models/_openai/_openai_client.py b/python/packages/autogen-ext/src/autogen_ext/models/_openai/_openai_client.py index 154c0a68b4e9..56bd96708ad7 100644 --- a/python/packages/autogen-ext/src/autogen_ext/models/_openai/_openai_client.py +++ b/python/packages/autogen-ext/src/autogen_ext/models/_openai/_openai_client.py @@ -28,7 +28,6 @@ FunctionCall, Image, ) -from autogen_core.components.tools import Tool, ToolSchema from autogen_core.logging import LLMCallEvent from autogen_core.models import ( AssistantMessage, @@ -43,6 +42,7 @@ TopLogprob, UserMessage, ) +from autogen_core.tools import Tool, ToolSchema from openai import AsyncAzureOpenAI, AsyncOpenAI from openai.types.chat import ( ChatCompletion, diff --git a/python/packages/autogen-ext/src/autogen_ext/models/_reply_chat_completion_client.py b/python/packages/autogen-ext/src/autogen_ext/models/_reply_chat_completion_client.py index 42f9e89e2fac..e3e0ff35a803 100644 --- a/python/packages/autogen-ext/src/autogen_ext/models/_reply_chat_completion_client.py +++ b/python/packages/autogen-ext/src/autogen_ext/models/_reply_chat_completion_client.py @@ -4,7 +4,6 @@ from typing import Any, AsyncGenerator, List, Mapping, Optional, Sequence, Union from autogen_core import EVENT_LOGGER_NAME, CancellationToken -from autogen_core.components.tools import Tool, ToolSchema from autogen_core.models import ( ChatCompletionClient, CreateResult, @@ -12,6 +11,7 @@ ModelCapabilities, RequestUsage, ) +from autogen_core.tools import Tool, ToolSchema logger = logging.getLogger(EVENT_LOGGER_NAME) diff --git a/python/packages/autogen-ext/src/autogen_ext/tools/_langchain_adapter.py b/python/packages/autogen-ext/src/autogen_ext/tools/_langchain_adapter.py index cb6e82aa8298..ea657691d942 100644 --- a/python/packages/autogen-ext/src/autogen_ext/tools/_langchain_adapter.py +++ b/python/packages/autogen-ext/src/autogen_ext/tools/_langchain_adapter.py @@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Callable, Dict, Type, cast from autogen_core import CancellationToken -from autogen_core.components.tools import BaseTool +from autogen_core.tools import BaseTool from pydantic import BaseModel, Field, create_model if TYPE_CHECKING: diff --git a/python/packages/autogen-ext/tests/models/test_openai_model_client.py b/python/packages/autogen-ext/tests/models/test_openai_model_client.py index 8cf302450081..76b481aa22bc 100644 --- a/python/packages/autogen-ext/tests/models/test_openai_model_client.py +++ b/python/packages/autogen-ext/tests/models/test_openai_model_client.py @@ -4,7 +4,6 @@ import pytest from autogen_core import CancellationToken, Image -from autogen_core.components.tools import BaseTool, FunctionTool from autogen_core.models import ( AssistantMessage, CreateResult, @@ -15,6 +14,7 @@ SystemMessage, UserMessage, ) +from autogen_core.tools import BaseTool, FunctionTool from autogen_ext.models import AzureOpenAIChatCompletionClient, OpenAIChatCompletionClient from autogen_ext.models._openai._model_info import resolve_model from autogen_ext.models._openai._openai_client import calculate_vision_tokens, convert_tools diff --git a/python/packages/autogen-ext/tests/test_openai_assistant_agent.py b/python/packages/autogen-ext/tests/test_openai_assistant_agent.py index 0166f17dbf89..da55d860c674 100644 --- a/python/packages/autogen-ext/tests/test_openai_assistant_agent.py +++ b/python/packages/autogen-ext/tests/test_openai_assistant_agent.py @@ -5,7 +5,7 @@ import pytest from autogen_agentchat.messages import TextMessage from autogen_core import CancellationToken -from autogen_core.components.tools._base import BaseTool, Tool +from autogen_core.tools._base import BaseTool, Tool from autogen_ext.agents.openai import OpenAIAssistantAgent from azure.identity import DefaultAzureCredential, get_bearer_token_provider from openai import AsyncAzureOpenAI diff --git a/python/packages/autogen-magentic-one/src/autogen_magentic_one/agents/file_surfer/_tools.py b/python/packages/autogen-magentic-one/src/autogen_magentic_one/agents/file_surfer/_tools.py index 740ea1c73f02..a49c2d8b785e 100644 --- a/python/packages/autogen-magentic-one/src/autogen_magentic_one/agents/file_surfer/_tools.py +++ b/python/packages/autogen-magentic-one/src/autogen_magentic_one/agents/file_surfer/_tools.py @@ -1,4 +1,4 @@ -from autogen_core.components.tools import ParametersSchema, ToolSchema +from autogen_core.tools import ParametersSchema, ToolSchema TOOL_OPEN_LOCAL_FILE = ToolSchema( name="open_local_file", diff --git a/python/packages/autogen-magentic-one/src/autogen_magentic_one/agents/multimodal_web_surfer/tool_definitions.py b/python/packages/autogen-magentic-one/src/autogen_magentic_one/agents/multimodal_web_surfer/tool_definitions.py index b662f4101d8a..06832e98909a 100644 --- a/python/packages/autogen-magentic-one/src/autogen_magentic_one/agents/multimodal_web_surfer/tool_definitions.py +++ b/python/packages/autogen-magentic-one/src/autogen_magentic_one/agents/multimodal_web_surfer/tool_definitions.py @@ -1,7 +1,7 @@ from typing import Any, Dict -# TODO Why does pylance fail if I import from autogen_core.components.tools instead? -from autogen_core.components.tools._base import ParametersSchema, ToolSchema +# TODO Why does pylance fail if I import from autogen_core.tools instead? +from autogen_core.tools._base import ParametersSchema, ToolSchema def _load_tool(tooldef: Dict[str, Any]) -> ToolSchema: diff --git a/python/packages/autogen-magentic-one/tests/headless_web_surfer/test_web_surfer.py b/python/packages/autogen-magentic-one/tests/headless_web_surfer/test_web_surfer.py index 2afe7757968e..b9a7d4ceeb41 100644 --- a/python/packages/autogen-magentic-one/tests/headless_web_surfer/test_web_surfer.py +++ b/python/packages/autogen-magentic-one/tests/headless_web_surfer/test_web_surfer.py @@ -9,10 +9,10 @@ import pytest from autogen_core import AgentId, AgentProxy, FunctionCall, SingleThreadedAgentRuntime -from autogen_core.components.tools._base import ToolSchema from autogen_core.models import ( UserMessage, ) +from autogen_core.tools._base import ToolSchema from autogen_magentic_one.agents.multimodal_web_surfer import MultimodalWebSurfer from autogen_magentic_one.agents.multimodal_web_surfer.tool_definitions import ( TOOL_PAGE_DOWN, diff --git a/python/packages/autogen-studio/autogenstudio/database/component_factory.py b/python/packages/autogen-studio/autogenstudio/database/component_factory.py index 3b9082554a34..140112ede2fe 100644 --- a/python/packages/autogen-studio/autogenstudio/database/component_factory.py +++ b/python/packages/autogen-studio/autogenstudio/database/component_factory.py @@ -9,7 +9,7 @@ from autogen_agentchat.agents import AssistantAgent, UserProxyAgent from autogen_agentchat.conditions import MaxMessageTermination, StopMessageTermination, TextMentionTermination from autogen_agentchat.teams import MagenticOneGroupChat, RoundRobinGroupChat, SelectorGroupChat -from autogen_core.components.tools import FunctionTool +from autogen_core.tools import FunctionTool from autogen_ext.agents.file_surfer import FileSurfer from autogen_ext.agents.magentic_one import MagenticOneCoderAgent from autogen_ext.agents.web_surfer import MultimodalWebSurfer diff --git a/python/packages/autogen-studio/tests/test_component_factory.py b/python/packages/autogen-studio/tests/test_component_factory.py index 8d2b8cbb84c1..57c0e38192c0 100644 --- a/python/packages/autogen-studio/tests/test_component_factory.py +++ b/python/packages/autogen-studio/tests/test_component_factory.py @@ -4,7 +4,7 @@ from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.teams import RoundRobinGroupChat, SelectorGroupChat, MagenticOneGroupChat from autogen_agentchat.conditions import MaxMessageTermination, StopMessageTermination, TextMentionTermination -from autogen_core.components.tools import FunctionTool +from autogen_core.tools import FunctionTool from autogenstudio.datamodel.types import ( AgentConfig,