快速开始#
警告
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 中的两个高级概念:Agent 和 Team. 代理帮助我们定义收到消息时要采取的行动。具体来说,我们使用 AssistantAgent
预设 - 这是一个可以访问模型(例如 LLM)和工具(函数)的代理,它可以使用这些资源来处理任务。团队帮助我们定义代理之间交互的规则。在 RoundRobinGroupChat
团队中,代理按照轮询的方式依次响应。
在这个例子中,我们只有一个代理,所以每轮都使用相同的代理。
下一步#
现在您已经基本了解了如何定义Agent 和 Team,建议您继续学习 tutorial,了解 AgentChat 的其他功能。