快速开始#

警告

AgentChat 正在开发中。API 可能会在未来的版本中发生变化。

备注

关于安装说明,请参考installation guide.

在 AutoGen AgentChat 中,您可以使用预设代理快速构建应用程序。 为了说明这一点,我们将从创建一个单一代理的团队开始,该代理可以使用工具并响应消息。

以下代码使用 OpenAI 模型。如果您还没有安装,需要安装以下软件包和扩展:

pip install 'autogen-agentchat==0.4.0.dev6' 'autogen-ext[openai]==0.4.0.dev6'
要使用 Azure OpenAI 模型和 AAD 认证,请参阅 [这里](./tutorial/models.ipynb#azure-openai)。
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.task import Console, TextMentionTermination
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models import OpenAIChatCompletionClient


# Define a tool
async def get_weather(city: str) -> str:
    return f"The weather in {city} is 73 degrees and Sunny."


async def main() -> None:
    # Define an agent
    weather_agent = AssistantAgent(
        name="weather_agent",
        model_client=OpenAIChatCompletionClient(
            model="gpt-4o",
            api_key="",
        ),
        tools=[get_weather],
    )

    # Define termination condition
    termination = TextMentionTermination("TERMINATE")

    # Define a team
    agent_team = RoundRobinGroupChat([weather_agent], termination_condition=termination)

    # Run the team and stream messages to the console
    stream = agent_team.run_stream(task="What is the weather in 北京?")
    await Console(stream)


# NOTE: if running this inside a Python script you'll need to use asyncio.run(main()).
await main()

上述代码介绍了 AgentChat 中的两个高级概念:AgentTeam. 代理帮助我们定义收到消息时要采取的行动。具体来说,我们使用 AssistantAgent 预设 - 这是一个可以访问模型(例如 LLM)和工具(函数)的代理,它可以使用这些资源来处理任务。团队帮助我们定义代理之间交互的规则。在 RoundRobinGroupChat 团队中,代理按照轮询的方式依次响应。 在这个例子中,我们只有一个代理,所以每轮都使用相同的代理。

下一步#

现在您已经基本了解了如何定义AgentTeam,建议您继续学习 tutorial,了解 AgentChat 的其他功能。