精品欧美一区二区三区在线观看 _久久久久国色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技術棧??,作者:星璇

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
中文字幕在线不卡| 蜜臀a∨国产成人精品| 亚洲国产精品系列| 妞干网在线免费视频| 2019中文字幕在线视频| 国产精品一区久久久久| 4438全国成人免费| av最新在线观看| 欧美激情极品| 7777精品伊人久久久大香线蕉完整版 | 亚洲网站免费| 亚洲成a天堂v人片| 在线精品亚洲一区二区| 人妻少妇精品无码专区久久| 日本欧洲一区二区| 久久久久久久香蕉网| 999福利视频| 台湾佬综合网| 欧美一级专区免费大片| 国产真实乱子伦| 日本中文字幕中出在线| 欧美国产精品久久| 国产在线精品一区二区三区| 97在线播放免费观看| 西西人体一区二区| 欧美情侣性视频| 美国黑人一级大黄| 亚洲欧洲免费| 亚洲第一黄色网| 亚洲精品无码久久久久久久| 88xx成人免费观看视频库| 午夜伦理一区二区| 成人小视频在线观看免费| 日本视频在线| 国产精品色噜噜| 日韩精品在在线一区二区中文| 国产综合无码一区二区色蜜蜜| 久久激情综合网| 国产成人精品一区二区三区| 日本午夜视频在线观看| 极品尤物久久久av免费看| 操人视频在线观看欧美| 国产极品美女在线| 日韩一级毛片| 色婷婷综合久久久久| 精品人伦一区二区| 在线一级成人| 亚洲欧美色图片| 久久久精品人妻无码专区| 欧美自拍视频| 亚洲精品在线91| 中文字幕在线免费看线人| 农村少妇一区二区三区四区五区| 亚洲国产欧美自拍| 国产污在线观看| 风间由美中文字幕在线看视频国产欧美| 欧美一级片在线| 肉色超薄丝袜脚交| 精品视频在线观看免费观看| 91精品国产综合久久福利软件| 17c国产在线| 二区三区精品| 精品国产青草久久久久福利| 国产十八熟妇av成人一区| 精品久久对白| 亚洲欧美在线免费| 国产精久久一区二区三区| av在线不卡免费观看| 一区三区二区视频| 99久久久无码国产精品不卡| 婷婷成人基地| 97精品久久久中文字幕免费| 在线视频一区二区三区四区| 日韩精品1区2区3区| 国产精品久久久久久久app| 96亚洲精品久久久蜜桃| 国产福利91精品| 久久国产欧美精品| av电影在线网| 亚洲线精品一区二区三区 | 亚洲小说区图片| 性做久久久久久久免费看| 内射国产内射夫妻免费频道| 日本综合字幕| 欧美日韩一区二区三区在线| 少妇性l交大片7724com| 色88888久久久久久影院| 伊人久久久久久久久久久久久| 成人欧美一区二区三区黑人一| 在线中文字幕亚洲| 欧美综合一区第一页| 中文字幕一区二区在线视频 | 亚洲人成人无码网www国产| 久久一区二区三区电影| 久久久免费精品视频| 无码人妻丰满熟妇区五十路| 国产一区二区剧情av在线| 国产精品亚洲综合| 1024国产在线| 精品国产福利在线| 免费黄频在线观看| 国产成人高清| 久久久久国产视频| 在线观看黄色国产| 99久久99久久免费精品蜜臀| 亚洲人成影视在线观看| av中文在线资源库| 91精品国产综合久久小美女| 少妇按摩一区二区三区| 午夜精品免费| 国产日韩精品入口| 水莓100在线视频| 亚洲久草在线视频| 91n.com在线观看| 卡一精品卡二卡三网站乱码| 久久久www成人免费精品张筱雨| 国产又黄又粗又爽| 国产成人av电影在线观看| 亚洲三区四区| av在线不卡精品| 亚洲国产女人aaa毛片在线| 国产精品免费人成网站酒店| 日韩不卡一区二区三区| 国产九区一区在线| 深夜国产在线播放| 6080国产精品一区二区| 懂色av蜜桃av| 天堂成人国产精品一区| 好吊色欧美一区二区三区视频| 国产激情小视频在线| 欧美日韩视频专区在线播放| 中文字幕一区二区三区人妻电影| 99精品99| 国产一级二级三级精品| 男女在线观看视频| 日韩欧美一区在线| 美女的奶胸大爽爽大片| 韩国av一区二区三区在线观看 | 中文在线播放一区二区| 国产精品视频精品| 99riav在线| 欧美日韩一区二区在线视频| 色屁屁草草影院ccyy.com| 日韩成人伦理电影在线观看| 区一区二区三区中文字幕| 美脚恋feet久草欧美| 国产婷婷成人久久av免费高清 | 日韩一区二区在线免费观看| 国产性生活大片| 精品一二线国产| 色中文字幕在线观看| 亚洲福利影视| 欧美日韩福利视频| 日本加勒比一区| 欧美日韩午夜剧场| 久久精品老司机| 日韩激情在线观看| 艳色歌舞团一区二区三区| 亚洲精品aa| 欧美大肥婆大肥bbbbb| 国产成人免费看一级大黄| 亚洲一区二区三区小说| 亚洲 欧美 日韩在线| 国产精品久久久久久久免费软件| 麻豆久久久av免费| 88xx成人网| 欧美成人高清视频| 国产香蕉在线观看| 色偷偷一区二区三区| 337人体粉嫩噜噜噜| 久久电影国产免费久久电影| 五月天在线免费视频| 国产毛片精品| 国产91九色视频| 中文字幕在线观看日本| 日韩视频永久免费| 天天综合天天干| 中文字幕制服丝袜成人av| 熟妇女人妻丰满少妇中文字幕| 亚洲激情专区| 午夜一区二区三区| 亚洲一区二区电影| 国产精品福利网站| √天堂8在线网| 日韩电影第一页| 在线观看中文字幕av| 一区二区久久久| 偷拍女澡堂一区二区三区| 久久se精品一区精品二区| 国产一线二线三线女| 国产成人短视频在线观看| 91网免费观看| 欧美福利在线播放| 欧美激情乱人伦| 国产高清视频在线播放| 欧美电影精品一区二区| 免费黄色一级大片| 亚洲国产精品影院| 亚洲视频重口味| 久久这里都是精品| 在线免费黄色小视频| 久久影院亚洲| 国产成人在线小视频| 欧洲乱码伦视频免费| 国产精品久久久久久久小唯西川 | 亚洲免费播放| 麻豆传媒网站在线观看| 九九久久成人| 国产精品制服诱惑| 精品亚洲a∨一区二区三区18| 日韩美女视频免费在线观看| 久久久123| 久久精品国产亚洲| 国产一二三在线观看| 亚洲精品在线免费观看视频| 97caocao| 欧美乱妇一区二区三区不卡视频| 天天综合天天干| 亚洲成a人片在线不卡一二三区| 国产wwwwxxxx| 国产情人综合久久777777| 亚洲天堂美女视频| 盗摄精品av一区二区三区| 91精品999| 日韩精品久久久久久| 黄色免费观看视频网站| 国产精品s色| a级网站在线观看| 成人精品影视| 日韩福利一区二区三区| 四虎884aa成人精品最新| 国内外成人免费视频| 91麻豆精品激情在线观看最新| 成人综合网网址| 亚洲青青一区| 成人在线免费观看视视频| 欧美一区二区三区婷婷| 国产精品久久视频| 亚洲电影有码| 国产精品黄色av| 亚洲a∨精品一区二区三区导航| 热99在线视频| 深夜成人福利| 国产精品99一区| 亚洲天堂1区| 国产精品小说在线| 国产第一精品| 国产欧美日韩精品在线观看| 成人在线视频免费看| 国产精品久久久久久久一区探花| 精品视频在线一区二区在线| 国产精品一区二区久久久久| 国产91在线播放精品| 国产区精品视频| 成人在线视频www| 不卡视频一区二区三区| 136导航精品福利| 国产九色精品| 岛国av一区| 欧美精品二区三区四区免费看视频| 亚洲区小说区| 亚洲一区bb| 最新国产精品| 日本www在线视频| 可以免费看不卡的av网站| 黄色一级二级三级| 国内成人自拍视频| 秘密基地免费观看完整版中文| 9i在线看片成人免费| brazzers精品成人一区| 中文字幕av资源一区| 91嫩草丨国产丨精品| 激情久久av一区av二区av三区| 中文字幕在线播| 欧美久久久一区| 黄色a在线观看| 亚洲无亚洲人成网站77777| 国产淫片在线观看| 性欧美长视频免费观看不卡| 天然素人一区二区视频| 亚洲精品日韩激情在线电影| 美女一区2区| 亚洲美女网站18| 国内精品久久久久久久影视麻豆| 国产肥臀一区二区福利视频| 看电视剧不卡顿的网站| 深田咏美中文字幕| 国产精品国产自产拍高清av| 日本三级免费看| 欧美日韩国产高清一区二区三区| 亚洲av综合色区无码一二三区| 亚洲精品之草原avav久久| 老司机在线看片网av| 8090成年在线看片午夜| 疯狂欧洲av久久成人av电影| 久久久久资源| 亚洲精品成人| 成人羞羞国产免费网站| 国产91在线观看丝袜| 性欧美精品男男| 亚洲成人自拍一区| 国产免费久久久| 国产亚洲福利一区| www欧美xxxx| 成人黄色片网站| 国产日产精品一区二区三区四区的观看方式| 伊人久久在线观看| 喷水一区二区三区| 日本少妇毛茸茸| 一区二区三区日韩| 一级日韩一级欧美| 亚洲日韩中文字幕在线播放| 激情网站在线| 91夜夜未满十八勿入爽爽影院| 奇米色欧美一区二区三区| 国内精品在线观看视频| 国产剧情一区二区三区| 情侣偷拍对白清晰饥渴难耐| 在线中文字幕不卡| 亚洲av成人无码久久精品老人| 欧美寡妇偷汉性猛交| 亚洲综合资源| 午夜精品一区二区在线观看| 欧美亚洲一区| 无码人妻aⅴ一区二区三区| 亚洲国产精品一区二区久久| a天堂视频在线| 欧美成aaa人片在线观看蜜臀| 欧美成人毛片| 视频一区不卡| 老牛影视一区二区三区| 素人fc2av清纯18岁| 亚洲成在线观看| 高h放荡受浪受bl| 欧美国产日韩视频| 中文字幕久久精品一区二区| 美女黄色片网站| 久久91精品国产91久久小草 | 无码精品人妻一区二区三区影院 | 日韩av在线播| 精品日韩一区二区三区| av网站在线免费看推荐| 91欧美日韩一区| 91精品在线观看国产| 欧美精品 - 色网| 亚洲伦在线观看| 成人h动漫精品一区二区无码 | 一区二区三区观看| 久久精品72免费观看| 久久精品亚洲a| 日韩一区二区在线看片| 日本精品600av| 国产精品久久久对白| 影院欧美亚洲| 国产精品揄拍100视频| 一本大道久久a久久精二百| 韩日视频在线| 国产欧美日韩91| 欧美日韩ab| 中文成人无字幕乱码精品区| 精品久久久久国产| 欧美日本网站| 国产欧美日韩中文字幕| 欧美777四色影| 亚洲天堂av网站| 色久综合一二码| 国产传媒在线播放| 国产精品久久久对白| 久久综合伊人| 人人澡人人澡人人看| 亚洲成人精品视频| 忘忧草在线日韩www影院| 少妇精品久久久久久久久久| 国产乱妇无码大片在线观看| 日本熟妇乱子伦xxxx| 亚洲午夜精品久久久久久性色| 伊人久久大香| 国产96在线 | 亚洲| 中国av一区二区三区| 精品国产亚洲一区二区麻豆| 97免费中文视频在线观看| 日韩欧美视频| 亚洲婷婷在线观看| 欧美手机在线视频| 久草在线视频网站| 日韩美女一区| 国产精品白丝av| 亚洲欧美综合自拍| 久热精品在线视频| 免费看av成人| 国产调教打屁股xxxx网站| 在线观看日韩高清av| 在线看福利影| 日韩激情久久| 成人免费视频视频在线观看免费| 人人妻人人爽人人澡人人精品 | 成人三级在线视频| 亚洲字幕av一区二区三区四区| 国内伊人久久久久久网站视频 | aaa国产视频|