综合介绍
Swarm是由OpenAI开发的一个实验性教育框架,旨在探索多代理系统的轻量级、可控和易于测试的接口。该框架主要用于展示代理之间的交接和例程模式,帮助开发者理解和实现多代理系统的协调与执行。Swarm并非独立的库,主要用于教育目的,适合对多代理系统感兴趣的开发者学习和实验。Swarm使用Chat Completions API,支持Python 3.10及以上版本。
功能列表
- 代理创建:定义和创建具有特定指令和功能的代理。
- 代理交接:实现代理之间的任务交接,增强系统的灵活性。
- 功能调用:代理可以调用预定义的功能,执行特定任务。
- 流式评估:支持对代理行为的实时评估和调整。
- 无状态调用:每次调用之间不保存状态,确保系统的轻量级和高效性。
使用帮助
安装流程
- 确保已安装Python 3.10或更高版本。
- 使用以下命令安装Swarm:
pip install git+https://github.com/openai/swarm.git
使用指南
- 创建代理:
from swarm import Swarm, Agent
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.",
)
- 运行代理:
client = Swarm()
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
的响应。 - 功能调用: 代理可以调用预定义的功能,如上例中的
transfer_to_agent_b
函数。 - 流式评估: Swarm支持对代理行为的实时评估和调整,确保系统的灵活性和高效性。
详细操作流程
- 定义代理:通过定义代理的名称、指令和功能,创建不同的代理。
- 设置交接规则:通过定义交接函数,实现代理之间的任务交接。
- 运行代理系统:使用Swarm客户端运行代理系统,处理用户输入并返回响应。
- 实时评估和调整:根据代理的行为和响应,实时评估和调整系统配置。
通过以上步骤,开发者可以轻松上手使用Swarm框架,探索多代理系统的实现和应用。