
先进的开源AI框架,专为构建和管理AI代理而设计
AutoGen是一个先进的开源AI框架,专为构建和管理AI代理而设计,支持强大的多代理合作和多样化的大语言模型。通过自动化和人工融合的工作流,AutoGen优化了复杂的AI应用,获得广泛应用和社区支持。
AutoGen 是一个开源框架,专门用于构建 AI 代理系统。这个框架旨在简化事件驱动、分布式、可扩展和高弹性的代理应用程序的创建过程。借助 AutoGen,用户可以快速搭建起自我协作或在人类监督下执行任务的 AI 代理系统。
AutoGen 的设计使得 AI 开发和研究变得容易,通过集成多个大型语言模型 (LLMs)、相关工具和先进的多代理设计模式,可以在本地开发和测试代理系统,然后根据需求迁移到云端环境。
AutoGen 提供了一系列核心特性,使得开发者可以更简单、高效地构建和管理代理系统:
AutoGen 是基于分层架构构建的,目前有三个主要的 API 供应用程序选择:
Core API (autogen-core) 基于 Actor 模型构建,支持异步消息传递和基于事件的工作流。该层的代理可以使用直接消息或主题广 播的方式进行通信,能够分布式部署,支持多种编程语言。
AgentChat API (autogen-agentchat) 是任务驱动的接口,类似于 AutoGen 0.2 版本,允许定义会话代理并将其组成团队来解决任务。这个 API 屏蔽了许多底层系统概念的复杂性。
Extensions 包含使用第三方系统实现核心接口的组件,比如 OpenAI 模型客户端和 Azure 代码执行器。除了内置的扩展包,该包还支持用户贡献的扩展。
安装所需包:
pip install 'autogen-agentchat==0.4.0.dev6' 'autogen-ext[openai]==0.4.0.dev6'
一个简单的天气查询代理示例:
import asyncio 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 async def get_weather(city: str) -> str: return f"The weather in {city} is 73 degrees and Sunny." async def main() -> None: weather_agent = AssistantAgent( name="weather_agent", model_client=OpenAIChatCompletionClient( model="gpt-4o-2024-08-06", ), tools=[get_weather], ) termination = TextMentionTermination("TERMINATE") agent_team = RoundRobinGroupChat([weather_agent], termination_condition=termination) stream = agent_team.run_stream(task="What is the weather in New York?") await Console(stream) asyncio.run(main())
AutoGen 致力于通过开放源代码和与社区合作,推动 AI 代理系统的发展。我们欢迎任何使用者和开发者对项目的反馈和贡献,以共同促进 AutoGen 的进步和完善。