Project Icon

swarm

轻量级且可扩展的多代理系统编排框架

Swarm框架是一种用于轻量级和可扩展多代理系统编排的教育性工具。它能够高效、可控、且易于测试,适用于教学和大型实际应用。Swarm主要通过代理和交接这两个基本抽象概念,实现了多代理系统之间的复杂互动模式。支持Python 3.10+,使用简单明确的指令即可安装并配置。探索我们的示例代码与案例,从基础功能到复杂的客户服务场景,Swarm提供一应俱全的解决方案。

Swarm项目介绍

Swarm是一个用于探索多代理系统(Multi-Agent System)的人机交互(Ergonomic)接口的实验性教育框架。这个项目的主要目标是展示和研究多代理系统的协调和例行模式,它的设计初衷是教育用途,而非生产环境。因此,目前Swarm并不支持生产环境使用,也没有官方支持。

主要概述

Swarm的重点在于实现代理的协调执行的轻量化、高可控性和易测试性。它通过两个基本抽象——Agent(代理)和handoff(交接)来实现这一目标。一个代理包含instructions(指令)和tools(工具),并可以在任何时候将对话移交给另一个代理。这些抽象足够强大,可以表达工具和代理网络之间的多样化动态关系,这使得你可以构建可扩展的真实世界解决方案,同时避免陡峭的学习曲线。

值得注意的是,Swarm代理与Assistants API中的助手无关。Swarm完全依赖于Chat Completions API,并且在调用之间是无状态的。

为什么选择Swarm

Swarm所探索的模式设计成轻量化、可扩展且高度可定制。当需要处理大量独立的能力和指令,且难以在单一提示中编码时,类似Swarm的方法会更适合。虽然Assistants API非常适合需要完全托管线程和内置内存管理和检索的开发人员,但Swarm则更适合作为一个教育资源,供开发者学习多代理协调工作原理。Swarm几乎完全在客户端运行,并且像Chat Completions API一样,在调用之间不存储状态。

如何安装

Swarm需要Python 3.10及以上版本。你可以使用以下命令安装Swarm:

pip install git+ssh://git@github.com/openai/swarm.git

或者

pip install git+https://github.com/openai/swarm.git

使用方法

以下是一个简单的使用示例:

from swarm import Swarm, Agent

client = Swarm()

def transfer_to_agent_b():
    return agent_b

agent_a = Agent(
    name="Agent A",
    instructions="You are a helpful agent.",
    functions=[transfer_to_agent_b],
)

agent_b = Agent(
    name="Agent B",
    instructions="Only speak in Haikus.",
)

response = client.run(
    agent=agent_a,
    messages=[{"role": "user", "content": "I want to talk to agent B."}],
)

print(response.messages[-1]["content"])

在这个示例中,Agent A会根据其指令把对话交接到Agent B,然后Agent B用俳句(Haiku)的形式回应。最后输出会是一个类似这样的俳句:

希望光明闪耀,
新路径优雅汇聚,
我能帮什么忙?

示例和文档

运行Swarm

你可以通过实例化一个Swarm客户端来开始:

from swarm import Swarm

client = Swarm()

client.run()

Swarm的run()函数类似于Chat Completions API的chat.completions.create()函数——它接受messages并返回messages,且在调用之间不保存状态。它还能处理代理函数执行、交接、上下文变量引用,并在返回给用户前可以有多个回合的互动。

client.run()的具体执行步骤如下:

  1. 获取当前代理的补全内容。
  2. 执行工具调用并追加结果。
  3. 必要时切换代理。
  4. 必要时更新上下文变量。
  5. 如果没有新的函数调用,则返回。

Agent(代理)

Agent封装了一组指令和函数,具备将执行任务交接给其他代理的能力。代理可以用来表示一个特定的工作流程或步骤,这使得代理可以组合成一个网络,代表不同的工作流程和任务。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号