OpenAI 近日发布了一款名为 Swarm 的多功能协同 AI Agent,引起了业界广泛关注。与传统的单一 AI Agent 不同,Swarm 能够同时创建多个智能体协同工作,共同完成各种任务。这些任务涵盖了客户服务、销售支持以及售后服务等多个领域。每个智能体都配备了专门的工具集,以提高工作效率。
例如,在电商行业中,当用户遇到商品问题时,Swarm 可以通过一系列智能体的协作来解决这些问题。首先,智能体会深入了解问题的具体情况,然后尝试提出解决方案。如果用户对解决方案不满意,Swarm 会进一步提供退款等服务,从而显著提升客服质量和效率。
Swarm 的功能特点
Swarm 的开发者可以定义 Python 函数作为智能体的工具库。这些函数经过格式化后,可以被 OpenAI API 自动调用,以执行实际任务,如查询商品信息或处理退款请求。Swarm 的强大之处在于可以根据用户的输入动态选择最合适的智能体来处理当前情境,并将对话转移给该智能体。
当智能体需要使用某个工具时,Swarm 提供了一个执行循环来处理这些工具调用。这一过程包括获取用户输入、调用适当的工具、接收结果并生成新的响应,直到不再需要调用工具为止。此外,Swarm 的模块化设计使得它具备高度的灵活性和扩展性,可以轻松添加新代理、修改现有用例或引入新功能。
值得一提的是,Swarm 支持通过自然语言构建智能体,这意味着即使是没有编程经验的用户也能轻松使用。Swarm 的整体性能非常强大,能够适应各种复杂环境。
Swarm 示例
下面是一个简单的示例,展示了 Swarm 如何作为客户服务的智能体来处理用户问题:
1. 定义两个函数 `execute_refund` 和 `look_up_item`。
2. 实现一个简单的循环:
– 获取用户输入。
– 将用户消息添加到 `messages` 列表。
– 调用 GPT-4 模型。
– 将模型响应添加到 `messages` 列表。
为了实现函数调用,需要将 Python 函数格式化为模型所需的函数模式。为此,可以定义一个辅助函数 `convert_to_function_schema` 来转换这些函数。
当大模型调用某个工具时,需要执行相应的函数并将结果返回给模型。可以通过将工具名称映射到 Python 函数的 `tool_map` 来实现这一点。在 `execute_tool_call` 中查找并调用相应函数,将结果添加到对话中。如果需要,可以在一个循环中不断执行这一流程,直到没有更多的工具调用为止。
开源热度
Swarm 刚刚开源不久,但在 GitHub 上迅速走红,获得了超过 6000 颗星,并且仍在持续增长。感兴趣的读者可以访问以下链接查看详细信息:
– 开源地址: [https://github.com/openai/swarm](https://github.com/openai/swarm)
本文来源: AIGC开放社区公众号【阅读原文】