快速入门#
通过AgentChat,您可以使用预设代理快速构建应用程序。 为了说明这一点,我们将从创建一个能够使用工具的单代理开始。
首先,我们需要安装AgentChat和扩展包。
pip install -U "autogen-agentchat" "autogen-ext[openai,azure]"
本示例使用OpenAI模型,但您也可以使用其他模型。
只需将model_client
更新为所需的模型或模型客户端类即可。
要使用Azure OpenAI模型和AAD身份验证, 您可以按照此处的说明操作。 要使用其他模型,请参阅模型。
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
# 定义一个模型客户端。
# 您可以使用其他实现了`ChatCompletionClient`接口的模型客户端。
model_client = OpenAIChatCompletionClient(
model="gpt-4o",
# api_key="YOUR_API_KEY",
)
# 定义一个简单的函数工具供代理使用。本例中,
# 我们使用一个模拟天气工具进行演示。
async def get_weather(city: str) -> str:
"""Get the weather for a given city."""
return f"The weather in {city} is 73 degrees and Sunny."
# 定义一个AssistantAgent,配置模型、工具、
# 系统消息并启用反思功能。系统消息通过自然语言指导代理行为。
agent = AssistantAgent(
name="weather_agent",
model_client=model_client,
tools=[get_weather],
system_message="You are a helpful assistant.",
reflect_on_tool_use=True,
model_client_stream=True, # 启用从模型客户端流式传输令牌的功能。
)
# 运行代理并将消息流式传输到控制台。
async def main() -> None:
await Console(agent.run_stream(task="What is the weather in New York?"))
# 关闭与模型客户端的连接。
await model_client.close()
# 注意:如果在 Python 脚本中运行此代码,需要使用 asyncio.run(main())。
await main()
---------- user ----------
What is the weather in New York?
---------- weather_agent ----------
[FunctionCall(id='call_bE5CYAwB7OlOdNAyPjwOkej1', arguments='{"city":"New York"}', name='get_weather')]
---------- weather_agent ----------
[FunctionExecutionResult(content='The weather in New York is 73 degrees and Sunny.', call_id='call_bE5CYAwB7OlOdNAyPjwOkej1', is_error=False)]
---------- weather_agent ----------
The current weather in New York is 73 degrees and sunny.
后续步骤#
现在您已经掌握了单个代理的基本使用方法,建议继续学习教程来了解 AgentChat 的其他功能特性。