精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenAI開源多智能體編排框架Swarm! 原創

發布于 2024-10-15 17:27
瀏覽
0收藏

編輯 | 星璇

出品 | 51CTO技術棧(微信號:blog51cto)

OpenAI 終于又Open了一回!這次開源的對象,竟然輪到了多智能體框架!

OpenAI開源多智能體編排框架Swarm!-AI.x社區圖片

OpenAI開源多智能體編排框架Swarm!-AI.x社區

Swarm 開源后,X上立馬引來開發者的的討論,有網友表示這能幫助簡化許多潛在的多智能體用例的工作流程。

OpenAI開源多智能體編排框架Swarm!-AI.x社區圖片

下面我們就來簡單介紹一下這個開源項目。

一、Swarm是什么?

據github文當介紹,Swarm 是一個實驗性質的多智能體框架,并不是為生產目的開發的,因此團隊表示不會提供任何官方支持。

其中,Swarm 關注的重點是讓智能體協作和執行變得輕量、高度可控且易于測試。

為此,它使用了兩種原語抽象:智能體(agent)和交接(handoff)。其中,智能體包含指令和工具,并且在任何時間都可以選擇將對話交接給另一個智能體。

該團隊表示,這些原語很強大,「足以表達工具和智能體網絡之間的豐富動態,讓你可以針對真實世界問題構建可擴展的解決方案,同時避免陡峭的學習曲線。」

另外,該團隊指出,請注意 Swarm 智能體與 Assistants API 中的 Assistants 無關。之所以名字相似,只是為了方便。Swarm 完全由 Chat Completions API 提供支持,因此在調用之間是無狀態的。

二、為什么要使用 Swarm?

在設計上,Swarm 是輕量級、可擴展且高度可定制的。它最適合處理存在大量獨立功能和指令的情況——這些功能和指令很難編碼成單個提示詞。

如果開發者想要尋求完全托管的線程以及內置的內存管理和檢索,那么 Assistants API 就已經是很好的選擇了。但如果開發者想要完全的透明度,并且能夠細粒度地控制上下文、步驟和工具調用,那么 Swarm 才是最佳選擇。Swarm (幾乎)完全運行在客戶端,與 Chat Completions API 非常相似,不會在調用之間存儲狀態。

該團隊還展示了一個應用示例,包括天氣查詢智能體、用于在航空公司環境中處理不同客戶服務請求的多智能體設置、客服機器人、可以幫助銷售和退款的個人智能體等。具體示例請訪問 Swarm 代碼庫。

OpenAI開源多智能體編排框架Swarm!-AI.x社區圖片

簡單的天氣查詢智能體示例,問題先經過篩選智能體處理,再轉交給天氣智能體解答

我們先來看一個例子。首先安裝 Swarm,很簡單:

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

裝好這個框架之后,用起來也很方便。以下代碼定義了 2 個智能體,而用戶的指令是與智能體 B 交談:

from swarm import Swarm, Agent

client = Swarm()

def transfer_to_agent_b():
return agent_b

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

agent_b = Agent(
name="Agent B",
instructinotallow="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"])

輸出消息:

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

三、Swarm 的核心組件

Swarm 的核心組件包括 client(客戶端)、Agent(智能體)、Function(函數)。

運行 Swarm 就是從實例化一個 client 開始的(其就是在內部實例化一個 OpenAI 客戶端)。

from swarm import Swarm
client = Swarm()

1. client.run()

Swarm 的 run() 函數類似于 Chat Completions API 中的 chat.completions.create() 函數——接收消息并返回消息,并且在調用之間不保存任何狀態。但重點在于,它還處理 Agent 函數執行、交接、上下文變量引用,并且可以在返回給用戶之前進行多輪執行。

究其核心,Swarm 的 client.run() 是實現以下循環:

  • 先讓當前智能體完成一個結果
  • 執行工具調用并附加結果
  • 如有必要,切換智能體
  • 如有必要,更新上下文變量
  • 如果沒有新的函數調用,則返回

參數?

client.run() 的參數包括:

OpenAI開源多智能體編排框架Swarm!-AI.x社區圖片

client.run() 完成后(可能進行過多次智能體和工具調用),會返回一個響應,其中包含所有相關的已更新狀態。具體來說,即包含新消息、最后調用的智能體、最新的上下文變量。你可以將這些值(加上新的用戶消息)傳遞給 client.run() 的下一次執行,以繼續上次的交互——就像是 chat.completions.create()

響應字段

OpenAI開源多智能體編排框架Swarm!-AI.x社區圖片

2. Agent

Agent 就是將一組指令與一組函數封裝在一起(再加上一些額外的設置),并且其有能力將執行過程交接給另一個 Agent。Agent 字段如下:

OpenAI開源多智能體編排框架Swarm!-AI.x社區圖片

指令(instructions)?

Agent instructions 會直接轉換成對話的系統提示詞(作為第一條消息)。只有當前活動的 Agent 的指令會被使用(當發生智能體交接時,系統提示詞會變化,但聊天歷史不會)。

agent = Agent(
instructinotallow="You are a helpful agent."
)

instructions 可以是常規字符串,也可以是返回字符串的函數。該函數可以選擇性地接收 context_variables 參數,該參數將由傳入 client.run() 的 context_variables 填充。

def instructions(context_variables):
user_name = context_variables["user_name"]
return f"Help the user, {user_name}, do whatever they want."

agent = Agent(
instructinotallow=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?

3. Function

  • Swarm Agent 可以直接調用 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!

如果某個 Agent 函數調用出錯(缺少函數、參數錯誤等),則會在聊天之中附加一條報錯響應,以便 Agent 恢復正常。

如果 Ageny 調用多個函數,則按順序執行它們。

交接和更新上下文變量

通過在返回的函數中包含一個 Agent,可將執行過程交接給這個 Agent。

sales_agent = Agent(name="Sales Agent")

def transfer_to_sales():
return sales_agent

agent = Agent(functions=[transfer_to_sales])

response = client.run(agent, [{"role":"user", "content":"Transfer me to sales."}])
print(response.agent.name)

輸出:

Sales Agent

它還可以通過返回更完整的 Result 對象來更新 context_variables。如果你希望用單個函數返回一個值、更新智能體并更新上下文變量(或三者中的任何組合),它還可以包含一個 value 和一個 agent。

sales_agent = Agent(name="Sales Agent")

def talk_to_sales():
print("Hello, World!")
return Result(
value="Done",
agent=sales_agent,c
ontext_variables={"department": "sales"}
)

agent = Agent(functions=[talk_to_sales])

response = client.run(a
gent=agent,
messages=[{"role": "user", "content": "Transfer me to sales"}],
context_variables={"user_name": "John"}
)
print(response.agent.name)
print(response.context_variables)

輸出:

Sales Agent
{'department': 'sales', 'user_name': 'John'}

注意:如果一個 Agent 調用了多個交接 Agent 的函數,則僅使用最后一個交接函數。

四、函數模式

Swarm 會自動將函數轉換為 JSON 模式,然后將其傳遞給聊天補全工具。

  • 文檔字符串會轉換為函數 description。
  • 沒有默認值的參數會設置為 required。
  • 類型提示會映射到參數的 type(默認為 string)。
  • 不明確支持對每個參數進行描述,但如果只是在文檔字符串中添加,應該能以相似的方式工作。

def greet(name, age: int, location: str = "New York"):
"""Greets the user. Make sure to get their name and age before calling.
Args:
name: Name of the user.
age: Age of the user.
location: Best place on earth.
"""
print(f"Hello {name}, glad you are {age} in {location}!")
{"type": "function",
"function": {
"name": "greet",
"description": "Greets the user. Make sure to get their name and age before calling.\n\nArgs:\n name: Name of the user.\n age: Age of the user.\n location: Best place on earth.",
"parameters": {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer"},
"location": {"type": "string"}},
"required": ["name", "age"]
}
}
}

五、流式處理

Swarm 也支持流式處理。

stream = client.run(agent, messages, stream=True)
for chunk in stream:
print(chunk)

使用了與 Chat Completions API streaming 一樣的事件,但添加了兩個事件類型:

  • {"delim":"start"} 和 {"delim":"start"},用于在 Agent 每次處理單個消息(響應或函數調用)時發出信號。這有助于識別 Agent 之間的切換。
  • 為方便起見,{"response": Response} 將在流的末尾返回帶有已聚合的(完整)響應的 Response 對象。

六、核心貢獻者

Swarm 的核心貢獻者均就職于 OpenAI,他們分別是(右側為對應的 GitHub 用戶名):

  • Ilan Bigio - ibigio
  • James Hills - jhills20
  • Shyamal Anadkat - shyamal-anadkat
  • Charu Jaiswal - charuj
  • Colin Jarvis - colin-openai?

本文轉載自??51CTO技術棧??,作者:星璇

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
亚洲一区精品视频| 日本欧美国产在线| wwwxxx色| 天堂av在线网| 欧美国产激情二区三区| 91在线色戒在线| 日韩欧美激情视频| 精品日韩免费| 欧美一二三区精品| 精品国偷自产一区二区三区| 四虎影视精品成人| 久久精品国产亚洲高清剧情介绍 | 美女被爆操网站| 日韩伦理精品| 日韩美女精品在线| 久久青青草原| 精品人妻一区二区三区换脸明星| 亚洲一区国产| 精品综合久久久久久97| 亚洲日本精品视频| 我要色综合中文字幕| 在线免费观看成人短视频| youjizz.com在线观看| 免费a级毛片在线观看| 国产老妇另类xxxxx| 国产不卡av在线免费观看| 538精品在线观看| 成人精品久久| 亚洲精品第一国产综合精品| 女人高潮一级片| 日韩三区免费| 婷婷中文字幕一区三区| 永久免费精品视频网站| 男女av在线| av中文字幕亚洲| 91免费在线视频| 少妇又紧又色又爽又刺激视频| 激情欧美丁香| 欧美成人免费一级人片100| 国产精品免费无码| 女一区二区三区| 日韩欧美成人激情| 加勒比av中文字幕| 日本在线视频一区二区| 精品久久久久久亚洲国产300| 国产精品igao激情视频| 日本视频不卡| 中文一区在线播放| 欧美午夜精品久久久久免费视| 成人久久精品人妻一区二区三区| 黄色资源网久久资源365| 国产精品成人av性教育| 五月天婷婷久久| 夜夜爽av福利精品导航| 久久久久国色av免费观看性色| 97成人资源站| 一区二区三区四区在线观看国产日韩 | 久久久欧美精品sm网站| 老司机精品福利在线观看| 人妻无码中文字幕免费视频蜜桃| 国产精品中文字幕日韩精品| 亚洲一区二区三区sesese| 国产精品高潮呻吟av| 久久国产尿小便嘘嘘| 国产欧美日韩91| 一区二区三区午夜| 九色porny丨国产精品| 国产一区香蕉久久| 91午夜交换视频| 国产中文字幕精品| 96pao国产成视频永久免费| 国产乱人乱偷精品视频| 国产精品一区不卡| 大波视频国产精品久久| 日本高清视频网站| 91麻豆精品在线观看| 日韩中文一区二区三区| 人人干在线视频| 亚洲欧美另类图片小说| 免费看欧美一级片| 亚洲国产成人二区| 欧美在线观看一二区| 亚洲综合婷婷久久| 国产一区二区三区免费观看在线| 精品美女一区二区三区| 亚洲国产无码精品| 色综合天天综合网中文字幕| 久久久国产一区二区| 久操免费在线视频| 亚洲影视在线| 国产女精品视频网站免费| 国产日韩免费视频| 91婷婷韩国欧美一区二区| 少妇特黄a一区二区三区| 日本韩国在线视频爽| 亚洲一区二区三区三| 能在线观看的av网站| 亚洲美女色播| 亚洲激情视频在线观看| 超碰97av在线| 激情婷婷亚洲| 国产精品久久99久久| 亚洲精品无码久久久| 久久女同互慰一区二区三区| 精品一区二区成人免费视频 | 亚洲精品视频在线观看网站| 很污的网站在线观看| 国产一区二区主播在线| 日韩欧美高清在线| 中文字幕第24页| 韩国久久久久| 国产精品丝袜白浆摸在线| 亚洲av少妇一区二区在线观看| 久久久国产午夜精品| 青青草免费在线视频观看| 日韩精品一区二区三区| 日韩欧美黄色影院| 老头老太做爰xxx视频| 狠狠爱综合网| 国产精品爽爽爽爽爽爽在线观看| 五月色婷婷综合| 亚洲欧美日韩中文播放 | 亚洲国产精品悠悠久久琪琪| 亚洲图片第一页| 日韩午夜免费| 91超碰在线免费观看| av影片在线看| 色综合天天视频在线观看| 国产ts在线观看| 天天操夜夜操国产精品| 国产精品成人av性教育| 亚州精品国产精品乱码不99按摩| 一区二区在线观看av| 激情视频免费网站| 中文字幕亚洲影视| 91精品国产精品| 国产 日韩 欧美 精品| 亚洲男人的天堂网| 奇米视频7777| 欧美亚洲高清| 国产97在线播放| 亚洲色图狠狠干| 婷婷丁香久久五月婷婷| 丰满少妇中文字幕| 自拍日韩欧美| 91精品免费看| 免费av不卡| 欧美日韩一区二区三区视频| 国产手机在线观看| 久久精品一区二区国产| 欧美精品在线一区| 成人动漫一区| 亚洲色图av在线| caoporn国产| 久久久久国产成人精品亚洲午夜| www精品久久| 色愁久久久久久| 欧美专区在线观看| 内衣办公室在线| 一本到不卡免费一区二区| 一区二区不卡免费视频| 美女精品在线| 天堂精品一区二区三区| 巨胸喷奶水www久久久| 中文字幕精品av| 一级片aaaa| 亚洲免费看黄网站| 国产成人av片| 国产农村妇女精品一二区| 免费电影一区| 日本一区二区三区视频在线| 精品国偷自产在线| www日本视频| 亚洲成人黄色影院| 中文人妻一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲一区二区三区午夜| 国产精品国产亚洲精品| 国内精品一区二区三区| 国产三级视频在线| 欧美一区二区在线免费观看| 成人免费看片98| 国产亚洲精品bt天堂精选| 九九热精品在线播放| 欧美精品黄色| 日本一区二区三区精品视频| 亚洲欧洲日韩精品在线| 97精品国产97久久久久久春色| 久草在线青青草| 91精品国产综合久久精品| 日本网站在线免费观看| 国产欧美一区二区三区网站| 欧美在线a视频| 一本一本久久| 中文字幕中文字幕在线中心一区| 91精品国产自产精品男人的天堂| 69av在线播放| 在线毛片网站| 亚洲电影免费观看高清完整版在线观看| 久久国产视频精品| 亚洲视频在线一区| 欧美色图亚洲激情| 国产一区二区三区四区五区美女| 国产v片免费观看| 久久影院100000精品| 国产视频一区二区不卡| 日本免费一区二区三区等视频| 亚州国产精品久久久| 欧美激情办公室videoshd| 亚洲精品久久久久中文字幕二区 | 久久大片网站| 亚洲影视资源| 日本一区二区三区四区视频| 日本孕妇大胆孕交无码| 中文字幕不卡在线视频极品| 午夜成人免费影院| 91精品国产91热久久久做人人| 秋霞精品一区二区三区| 亚洲永久免费视频| 国产成人免费在线观看视频| 2021久久国产精品不只是精品| 亚洲综合123| 蜜桃视频免费观看一区| 欧美精品一区免费| 精品99视频| 亚洲av综合色区| 91一区二区| 色阁综合av| 久久av导航| 久久精品人成| 欧美日韩一区二区三区四区不卡| 亚洲最大av网| 精品视频一区二区三区| 国产三级精品网站| 视频精品导航| 国产精品入口免费视频一| 亚洲欧洲日本韩国| 97国产在线视频| av中文字幕在线看| 欧美极品美女电影一区| 亚洲淫性视频| 另类美女黄大片| 黄色网在线免费看| 久久艳片www.17c.com| 免费在线视频欧美| 日韩综合视频在线观看| 国产高清av在线| 在线观看欧美日韩| av基地在线| 深夜福利国产精品| 日韩伦理在线电影| 精品国产一区av| 国产黄色在线免费观看| 久久精品一区中文字幕| 黄网页免费在线观看| 久久99热精品这里久久精品| av大片在线| 欧美激情在线有限公司| 老色鬼在线视频| 欧美重口另类videos人妖| 91av亚洲| 国产精品一区二区三| 国产精品欧美一区二区三区不卡 | 99视频国产精品免费观看a| 欧美一区午夜视频在线观看| 亚洲AV无码精品国产| 亚洲第一精品夜夜躁人人爽| 五十路在线视频| 亚洲一级黄色av| 免费黄色网址在线观看| 久久成年人视频| 啊啊啊久久久| 日本亚洲欧洲色| 色综合一区二区日本韩国亚洲| 国产欧美一区二区| 一区二区三区四区高清视频| 国产尤物99| 精品国产乱码久久久| 一本一本a久久| 欧美福利网址| 国产精品无码av在线播放| 奇米影视在线99精品| 91性高潮久久久久久久| 成人av免费观看| 日本黄色激情视频| 一区二区三区中文字幕电影| 在线观看亚洲欧美| 欧美日韩一区二区在线观看| 丰满肉嫩西川结衣av| 亚洲天堂开心观看| 麻豆影视国产在线观看| 91国产美女视频| 国产精品黄色片| 国产精品视频免费一区二区三区| 制服丝袜日韩| 97久久国产亚洲精品超碰热| 久久久xxx| 中文字幕一二三| 国产人妖乱国产精品人妖| 欧美黑吊大战白妞| 欧美中文字幕亚洲一区二区va在线| 国产一区二区自拍视频| 亚洲精品不卡在线| 菠萝菠萝蜜在线视频免费观看 | 日韩欧美国产亚洲| 欧美日韩国产bt| 午夜18视频在线观看| 麻豆一区二区在线观看| 在线精品亚洲欧美日韩国产| 91系列在线观看| 国产91一区| 欧美午夜性视频| 精品夜夜嗨av一区二区三区| 三级黄色片网站| 亚洲综合一区二区三区| 五月婷婷激情五月| 亚洲精品成人网| 麻豆福利在线观看| 成人在线一区二区| 欧洲杯什么时候开赛| 免费在线观看亚洲视频| 国产精品一区二区久久不卡| 性爱在线免费视频| 色爱区综合激月婷婷| 日本国产在线观看| 欧美激情中文字幕乱码免费| 99精品国产九九国产精品| 日本一区免费观看| 亚洲欧美大片| 成人做爰www看视频软件| 亚洲欧美日韩一区二区 | 欧美日韩在线观看首页| 99高清视频有精品视频| 亚洲久久久久| 日韩av加勒比| 国产精品久久久久久户外露出| 精人妻无码一区二区三区| 亚洲精品一区二区三区不| 密臀av在线播放| 国产一区免费| 亚洲国产美女| xxxx黄色片| 午夜不卡在线视频| 欧美一级性视频| 久久久久久久香蕉网| 97久久亚洲| 成年人看的毛片| 成人av中文字幕| 日韩成人av毛片| 日韩高清人体午夜| av资源中文在线| 久久伊人资源站| 丝瓜av网站精品一区二区| 91激情视频在线观看| 日本韩国精品在线| 成人动漫在线播放| 国产一区香蕉久久| 最新欧美人z0oozo0| 中国男女全黄大片| 亚洲图片欧美一区| 日本免费一区二区三区最新| 欧美一级bbbbb性bbbb喷潮片| 亚洲人挤奶视频| 久久国产激情视频| 亚洲精品久久久久久国产精华液| a天堂在线视频| 久久免费精品视频| 日韩有码一区| 中文字幕第100页| 亚洲精品视频一区二区| 少妇一级淫片免费看| 7m第一福利500精品视频| 国产99久久| 亚洲五月激情网| 亚洲成人7777| 欧美性孕妇孕交| 国产在线精品一区免费香蕉| 国产精品99免费看| 玖玖爱在线观看| 欧美日韩亚洲综合在线| av软件在线观看| 久久99九九| 久久99久久99精品免视看婷婷 | 一本色道久久综合狠狠躁的推荐| www黄在线观看| 91在线|亚洲| 一本色道久久综合亚洲精品不卡 | 郴州新闻综合频道在线直播| 亚洲一区二区在线视频观看| 亚洲国产精品精华液网站 | 欧美黑人性视频| 夜夜春成人影院| 国产美女视频免费看| 亚洲成年人影院| 色三级在线观看| 久精品国产欧美| 狠狠色狠狠色综合系列| 久久中文字幕免费| 欧美超级免费视 在线| 九色成人国产蝌蚪91|