精品一区二区三区在线成人,欧美精产国品一二三区,Ji大巴进入女人66h,亚洲春色在线视频

AutoGen 2.0:微軟發(fā)布代碼優(yōu)先的Agent框架TaskWeaver 精華

發(fā)布于 2024-6-7 11:26
瀏覽
0收藏

進入大模型時代,微軟在推動大模型應用落地動作頻頻,先后發(fā)布了Semantic Kernel,PromptFlow,AutoGen等框架,最近又發(fā)布了一款Agent框架:TaskWeaver。它被作為一個代碼優(yōu)先框架,用于構(gòu)建LLM Agent。它將用戶需求轉(zhuǎn)換為可執(zhí)行代碼,并將用戶定義的插件視為可調(diào)用函數(shù)。TaskWeaver 支持豐富的數(shù)據(jù)結(jié)構(gòu)(支持本地 Python 數(shù)據(jù)結(jié)構(gòu),如 DataFrames )、靈活的插件使用和動態(tài)插件選擇,并利用 LLM 編碼功能實現(xiàn)復雜邏輯。用戶可提供示例,注入專業(yè)領(lǐng)域知識來指導規(guī)劃和代碼生成,并確保生成代碼的安全執(zhí)行,包括執(zhí)行前驗證代碼,及將會話隔離到受限進程,后期還會提供沙箱機制。在模型調(diào)用成本上,允許不同模塊采用不同的 LLM 模型 ,還納入一定規(guī)則以便跳過不必要的調(diào)用 。

?

AutoGen 2.0:微軟發(fā)布代碼優(yōu)先的Agent框架TaskWeaver-AI.x社區(qū)

??https://arxiv.org/pdf/2311.17541v1.pdf??

TaskWeaver 由三個主要組件組成:計劃器、代碼生成器和代碼執(zhí)行器。這些組件共同創(chuàng)建了一個雙層計劃系統(tǒng)。首先,高階計劃概述了總體戰(zhàn)略。然后,詳細執(zhí)行計劃指導框架完成每項任務,確保效率和準確性。

下面是該框架的工作流程。

AutoGen 2.0:微軟發(fā)布代碼優(yōu)先的Agent框架TaskWeaver-AI.x社區(qū)

它還可以很方便的應用在mutiagent場景中,不僅可以將agent作為插件被集成,也可以把它放到AutoGen等多agent框架中使用。

AutoGen 2.0:微軟發(fā)布代碼優(yōu)先的Agent框架TaskWeaver-AI.x社區(qū)

官方提到的亮點特性:

  • 豐富的數(shù)據(jù)結(jié)構(gòu)--TaskWeaver 允許你在 Python 中使用豐富的數(shù)據(jù)結(jié)構(gòu)(如 DataFrames),而不必使用文本字符串。
  • 自定義算法--TaskWeaver 允許你將自己的算法封裝到插件中(以 Python 函數(shù)的形式),并協(xié)調(diào)它們來完成復雜的任務。
  • 融入特定領(lǐng)域的知識--TaskWeaver 的設(shè)計可輕松融入特定領(lǐng)域的知識,如執(zhí)行流程知識,以提高AI copilot的可靠性。
  • 有狀態(tài)對話--TaskWeaver 支持有狀態(tài)對話。它可以記住對話的上下文,并利用它來改善用戶體驗。
  • 代碼驗證--TaskWeaver 可在執(zhí)行前驗證生成的代碼。它可以檢測生成代碼中的潛在問題,并提供修復建議。
  • 易于使用--TaskWeaver 的設(shè)計宗旨是易于使用。提供了一套示例插件和教程,可幫助用戶輕松上手。用戶可以在示例插件的基礎(chǔ)上輕松創(chuàng)建自己的插件。TaskWeaver 提供開箱即用的體驗,允許用戶在安裝后立即運行服務。
  • 易于調(diào)試--TaskWeaver 的設(shè)計易于調(diào)試。有詳細的日志記錄,幫助你了解在調(diào)用 LLM、代碼生成和執(zhí)行過程中發(fā)生了什么。
  • 安全考慮--TaskWeaver 支持基本的會話管理,將不同用戶的數(shù)據(jù)分開。代碼執(zhí)行被分成不同的進程,以避免相互干擾。
  • 易于擴展--TaskWeaver 的設(shè)計易于擴展,以完成更復雜的任務。可以創(chuàng)建多個copilot來扮演不同的角色,并編排它們來完成復雜的任務。

筆者認為,它還有一個比較大的亮點是,它易于集成,可以把它當作一個library使用,方便的、漸進式地集成到現(xiàn)有的系統(tǒng)。

app_dir = "/path/to/project/"
app = TaskWeaverApp(app_dir=app_dir)
session = app.get_session()


user_query = "hello, what can you do?"
response_round = session.send_message(user_query,
                                      event_handler=lambda _type, _msg: print(f"{_type}:\n{_msg}"))
print(response_round.to_dict())

這將帶來很大的編程范式改變,開發(fā)者不用花心思去具體進行數(shù)據(jù)處理等瑣碎需求,交給agent幫你實現(xiàn),這樣既提高靈活性,又減少了工作量,這算不算是AI時代的高階“策略模式”呢?

本文轉(zhuǎn)載自 ??AI工程化??,作者: ully

收藏
回復
舉報
回復
相關(guān)推薦
主站蜘蛛池模板: 临江市| 澎湖县| 绍兴市| 奉节县| 雷州市| 平陆县| 蒙自县| 桃源县| 仁怀市| 旅游| 苏尼特右旗| 碌曲县| 花莲市| 子长县| 延安市| 班玛县| 樟树市| 临江市| 长宁县| 佛教| 阿拉善左旗| 昭苏县| 耿马| 常山县| 刚察县| 马公市| 北宁市| 淮滨县| 保山市| 彩票| 盐城市| 襄城县| 吉安市| 安吉县| 图们市| 永济市| 南江县| 三明市| 从江县| 潜山县| 普格县|