当前位置: 首页 > news >正文

OpenAI终于open了,Swarm开源来袭!【视频教材+源码】

目录

Swarm:

Swarm的multi-agent使用示例

Swarm的multi-agent使用示例输出:

client.run() 

Agent

函数

福利利领取:


拉到文末,资源福利获取

Swarm

用于构建、协调和部署多智能体(multi-agent)系统的框架,由OpenAI Solutions团队管理。Swarm是一个符合工效(ergonomic)、轻量级的多智能体协调框架。

Swarm专注于使Agent协调和执行变得轻量级、高度可控且易于测试,它通过两个原始抽象来实现这一点:智能体(agent)和交接(handoffs)。一个智能体包含了指令和工具,并且可以在任何时候选择将对话交接给另一个智能体。这些原始抽象足够强大,能够表达工具和智能体网络之间的丰富动态,允许你构建可扩展的、现实世界的解决方案,同时避免陡峭的学习曲线。

Swarm的multi-agent使用示例

from swarm import Swarm, Agent
client = Swarm()
def transfer_to_agent_b():    return agent_bagent_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"])

Swarm的multi-agent使用示例输出:​​​​​​​

Hope glimmers brightly,New paths converge gracefully,What can I assist?

client.run() 

Swarm 的 run() 函数类似于 Chat Completions API 中的 chat.completions.create() 函数——它接收消息并返回消息,但在调用之间不保存任何状态。然而,重要的是,它还处理Agent函数执行、交接、上下文变量引用,并且在返回给用户之前可以处理多个回合。

在核心层面,Swarm 的 client.run() 实现了以下循环:

  • 从当前agent获取一个完成 

  • 执行工具调用并追加结果 

  • 如有必要,切换agent 

  • 如有必要,更新上下文变量 

  • 如果没有新的函数调用,返回

Agent

一个Agent简单地封装了一组指令和一组函数(加上下面的一些额外设置),并且有能力将执行交接给另一个Agent。

虽然将Agent拟人化很诱人,但它也可以用来表示由一组指令和函数定义的非常具体的工作流程或步骤(例如,一组步骤、复杂的检索、单个数据转换步骤等)。这允许Agent被组合成一个由“智能体”、“工作流程”和“任务”组成的网络,所有这些都由相同的原始元素表示。

agent = Agent(   instructions="You are a helpful agent.")
###def instructions(context_variables):   user_name = context_variables["user_name"]   return f"Help the user, {user_name}, do whatever they want."
agent = Agent(   instructions=instructions)response = client.run(   agent=agent,   messages=[{"role":"user", "content": "Hi!"}],   context_variables={"user_name":"John"})print(response.messages[-1]["content"])
###Hi John, how can I assist you today?

函数

Swarm智能体可以直接调用 Python 函数。函数通常应该返回一个字符串(值将尝试被转换为字符串)。如果一个函数返回一个Agent,执行将被转移到那个Agent。如果一个函数定义了一个 context_variables 参数,它将被 client.run() 传入的 context_variables 填充。​​​​​​​

def greet(context_variables, language):   user_name = context_variables["user_name"]   greeting = "Hola" if language.lower() == "spanish" else "Hello"   print(f"{greeting}, {user_name}!")   return "Done"
agent = Agent(   functions=[print_hello])
client.run(   agent=agent,   messages=[{"role": "user", "content": "Usa greet() por favor."}],   context_variables={"user_name": "John"})#####Hola, John!
https://github.com/openai/swarm

 

福利利领取:


IT类包含:
Java、云原生、GO语音、嵌入式、Linux、物联网、AI人工智能、python、C/C++/C#、软件测试、网络安全、Web前端、网页、大数据、Android大模型多线程、JVM、Spring、MySQL、Redis、Dubbo、中间件…等最全厂牌最新视频教程+源码+软件包+面试必考题和答案详解。

资源目录检索,查;获取+V,CD20230507

https://path.dirts.cn/sfoA5TURw


http://www.mrgr.cn/news/49841.html

相关文章:

  • 读书笔记:《Redis设计与实现》之集群
  • 2024全面大模型学习指南
  • Qt在iOS平台上的编译配置与打包发布,详细流程
  • 哪个牌子的护眼台灯防蓝光效果好?五款对孩子比较好的护眼台灯
  • 《大模型应用开发:RAG入门与实战》从基础概念到实战操作,手把手教你构建功能齐全的RAG项目。
  • git的学习使用(搭建本地仓库,创建本地仓库,配置本地仓库)(附带Ubuntu云服务器git安装流程)
  • JDK安装环境配置保姆间教程
  • 从蹲在碎片前沉思到SpaceX“筷子回收”,马斯克用20年把梦想照进现实!
  • asp.net core _ViewStart.cshtml 和 _ViewImports.cshtml
  • 数字化转型最佳实践与实施技巧:理论指导与企业应用路径
  • 构建架构与业务一致性及合规性的路径:企业数字化转型的深度解读
  • boost智能指针
  • 论文解析六:Transformer----Attention Is All You Need---注意力是你所需要的
  • 影刀rpa证书考试答案和刷课脚本
  • SpringBoot驱动的智能健康推荐系统
  • 基于socket实现客户端与服务器之间TCP通信
  • N个Utils(处理数字和字符串)
  • 狄拉克函数的基本性质
  • TON(六)——fift算法,注释的改写
  • SpringBoot智能推荐:健康生活新趋势