Migrate remaining components (#4626)

This commit is contained in:
Jack Gerrits
2024-12-09 21:39:07 -05:00
committed by GitHub
parent 51d4a10774
commit 218e84fd8e
44 changed files with 262 additions and 83 deletions

View File

@@ -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
```

View File

@@ -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:

View File

@@ -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:

View File

@@ -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"
]
},

View File

@@ -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"
]
},

View File

@@ -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."
]
},

View File

@@ -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."
]
},

View File

@@ -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."
]
},
{

View File

@@ -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."
]
},

View File

@@ -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 functions 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",