autogen_agentchat.tools#

class AgentTool(agent: BaseChatAgent)[源代码]#

基类:TaskRunnerTool, Component[AgentToolConfig]

可用于通过代理运行任务的工具。

该工具以 TaskResult 对象的形式返回任务执行结果。

参数:

agent (BaseChatAgent) -- 用于运行任务的代理。

示例

import asyncio

from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.tools import AgentTool
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient


async def main() -> None:
    model_client = OpenAIChatCompletionClient(model="gpt-4")
    writer = AssistantAgent(
        name="writer",
        description="A writer agent for generating text.",
        model_client=model_client,
        system_message="Write well.",
    )
    writer_tool = AgentTool(agent=writer)
    assistant = AssistantAgent(
        name="assistant",
        model_client=model_client,
        tools=[writer_tool],
        system_message="You are a helpful assistant.",
    )
    await Console(assistant.run_stream(task="Write a poem about the sea."))


asyncio.run(main())
classmethod _from_config(config: AgentToolConfig) Self[源代码]#

从配置对象创建组件的新实例。

参数:

config (T) -- 配置对象。

Returns:

Self -- 组件的新实例。

_to_config() AgentToolConfig[源代码]#

导出当前组件实例的配置,该配置可用于创建具有相同配置的新组件实例。

Returns:

T -- 组件的配置。

component_config_schema#

AgentToolConfig 的别名

component_provider_override: ClassVar[str | None] = 'autogen_agentchat.tools.AgentTool'#

覆盖组件的provider字符串。这应该用于防止内部模块名称成为模块名称的一部分。

class TeamTool(team: BaseGroupChat, name: str, description: str)[源代码]#

基类:TaskRunnerTool, Component[TeamToolConfig]

可用于运行任务的工具。

该工具返回任务执行结果,格式为 TaskResult 对象。

参数:
  • team (BaseGroupChat) -- 用于运行任务的团队。

  • name (str) -- 工具名称。

  • description (str) -- 工具描述。

classmethod _from_config(config: TeamToolConfig) Self[源代码]#

从配置对象创建组件的新实例。

参数:

config (T) -- 配置对象。

Returns:

Self -- 组件的新实例。

_to_config() TeamToolConfig[源代码]#

导出当前组件实例的配置,该配置可用于创建具有相同配置的新组件实例。

Returns:

T -- 组件的配置。

component_config_schema#

TeamToolConfig 的别名

component_provider_override: ClassVar[str | None] = 'autogen_agentchat.tools.TeamTool'#

覆盖组件的provider字符串。这应该用于防止内部模块名称成为模块名称的一部分。