入门指南
AutoGen 是一个开源编程框架,用于构建 AI 代理并促进多个代理之间的合作以解决任务。AutoGen 旨在提供一个易于使用且灵活的框架,以加速代理型 AI 的开发和研究,类似于 PyTorch 在深度学习中的作用。它提供了诸如可以与其他代理对话的代理、LLM 和工具使用支持、自主和人类参与的工作流程以及多代理对话模式等功能。
主要功能
- AutoGen 使得基于多代理对话构建下一代 LLM 应用程序变得轻而易举。它简化了复杂 LLM 工作流程的编排、自动化和优化,最大化 LLM 模型的性能并克服其弱点。
- 它支持多样化的对话模式用于复杂的工作流程。通过可定制和可对话的代理,开发者可以使用AutoGen构建各种对话模式,涉及对话自主性、代理数量和代理对话拓扑结构。
- 它提供了一系列不同复杂性的工作系统。这些系统跨越了各个领域和复杂性的广泛应用。这展示了AutoGen如何轻松支持多样化的对话模式。
AutoGen 由来自微软、宾夕法尼亚州立大学和华盛顿大学的合作研究驱动。
快速入门
pip install autogen-agentchat~=0.2
- 无代码执行
- 本地执行
- Docker 执行
import os
from autogen import AssistantAgent, UserProxyAgent
llm_config = { "config_list": [{ "model": "gpt-4", "api_key": os.environ.get("OPENAI_API_KEY") }] }
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent("user_proxy", code_execution_config=False)
# Start the chat
user_proxy.initiate_chat(
assistant,
message="Tell me a joke about NVDA and TESLA stock prices.",
)
warning
当被询问时,务必在继续之前检查生成的代码,以确保其运行安全。
import os
import autogen
from autogen import AssistantAgent, UserProxyAgent
llm_config = {"model": "gpt-4", "api_key": os.environ["OPENAI_API_KEY"]}
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent(
"user_proxy", code_execution_config={"executor": autogen.coding.LocalCommandLineCodeExecutor(work_dir="coding")}
)
# Start the chat
user_proxy.initiate_chat(
assistant,
message="Plot a chart of NVDA and TESLA stock price change YTD.",
)
import os
import autogen
from autogen import AssistantAgent, UserProxyAgent
llm_config = {"model": "gpt-4", "api_key": os.environ["OPENAI_API_KEY"]}
with autogen.coding.DockerCommandLineCodeExecutor(work_dir="coding") as code_executor:
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent(
"user_proxy", code_execution_config={"executor": code_executor}
)
# Start the chat
user_proxy.initiate_chat(
assistant,
message="Plot a chart of NVDA and TESLA stock price change YTD. Save the plot to a file called plot.png",
)
打开 coding/plot.png
查看生成的图表。
tip
了解更多关于为agent配置LLM的信息在这里.
多智能体对话框架
Autogen 通过一个通用的多代理对话框架,让下一代LLM应用程序得以实现。它提供了可定制和可对话的代理,这些代理集成了LLMs、工具和人类。 通过自动化多个有能力的代理之间的聊天,可以轻松地让它们自主地或通过人类反馈共同执行任务,包括需要通过代码使用工具的任务。例如,
下图展示了与AutoGen的示例对话流程。