有了ModelScope-Agent,小白也能打造專屬智能體,附保姆級教程
ModelScope-Agent 提出了一個通用的、可定制的 Agent 框架,方便用戶打造屬于自己的智能體。它基于開源的大語言模型 (LLMs) 作為核心,提供了一個用戶友好的系統(tǒng)庫, 具有以下特點:
- 可定制且功能全面的框架:提供可定制的引擎設(shè)計,涵蓋了數(shù)據(jù)收集、工具檢索、工具注冊、存儲管理、定制模型訓(xùn)練和實際應(yīng)用等功能,可用于快速實現(xiàn)實際場景中的應(yīng)用。
- 開源 LLMs 作為核心組件:支持在 ModelScope 社區(qū)的多個開源 LLMs 上進行模型訓(xùn)練,并開源了配套的中英文工具指令數(shù)據(jù)集 MSAgent-Bench,用于增強開源大模型作為 Agent 中樞的規(guī)劃調(diào)度能力。
- 多樣化且全面的 API,支持 API 檢索:以統(tǒng)一的方式實現(xiàn)與模型 API 和常見的功能 API 進行無縫集成,默認提供開源 API 檢索方案。
- 論文鏈接:https://arxiv.org/abs/2309.00986
- 代碼鏈接:https://github.com/modelscope/modelscope-agent
- ModelScope 體驗地址:https://modelscope.cn/studios/damo/ModelScopeGPT/summary
能力展示
下面先展示一些基于 ModelScope-Agent 實現(xiàn)的 ModelScopeGPT (魔搭 GPT)的能力:
1. 單步工具調(diào)用,Agent 需要選擇正確的工具并生成請求,并根據(jù)執(zhí)行結(jié)果返回給用戶。
2. 多步工具調(diào)用,Agent 需要多個工具的規(guī)劃、調(diào)度、執(zhí)行和回復(fù)。
3. 多輪對話中工具調(diào)用,Agent 需要從歷史對話中挖掘需要傳給工具的參數(shù)。
4.基于檢索工具的社區(qū)知識問答。
框架介紹
ModelScope-Agent 框架是如何設(shè)計的
ModelScope-Agent 是一個通用的、可定制的 Agent 框架,用于實際應(yīng)用程序開發(fā),其基于開源的大語言模型 (LLMs) 作為核心,包含記憶控制、工具使用等模塊。開源 LLM 主要負責(zé)任務(wù)規(guī)劃、調(diào)度以及回復(fù)生成;記憶控制模塊,主要包含知識檢索以及 prompt (提示詞)管理;工具使用模塊,包含工具庫以及工具檢索和工具可定制化。ModelScope-Agent 系統(tǒng)架構(gòu)如下:
ModelScope-Agent 框架是如何執(zhí)行的
ModelScope-Agent 的工作原理是,把目標拆分成更小的任務(wù),然后一項一項完成。比如,當(dāng)用戶請求「寫一個簡短故事,并用女聲朗讀,同時配個視頻」時,ModelScope-Agent 會展示整個任務(wù)規(guī)劃過程,先通過工具檢索檢索相關(guān)的語音合成工具,然后由開源 LLM 進行規(guī)劃調(diào)度, 首先生成一段故事,然后調(diào)用對應(yīng)語音生成模型,生成語音并用女聲念出,展示給用戶,最后再調(diào)用視頻生成模型,針對生成的故事內(nèi)容生成一段視頻;這里全程不需要用戶配置當(dāng)前請求可能需要調(diào)用到的工具,極大提升了使用便捷性。
開源大模型訓(xùn)練框架:新的訓(xùn)練方法、數(shù)據(jù)和模型開源
除了 ModelScope-Agent 框架之外,研究團隊還提出了新的工具指令微調(diào)訓(xùn)練方法:Weighted LM,通過對工具指令調(diào)用部分 token 進行 loss 加權(quán),提升開源大模型工具指令調(diào)用能力。
研究團隊還開源了一個包含60w具備多輪多步工具指令調(diào)用能力的高質(zhì)量中英數(shù)據(jù)集MSAgent-Bench,基于該數(shù)據(jù)集新的訓(xùn)練方法,研究團隊在 Qwen-7B 基礎(chǔ)上優(yōu)化訓(xùn)練了一個 MSAgent-Qwen-7B 模型,相關(guān)數(shù)據(jù)集和模型都已開源。
- MSAgent-Bench:https://modelscope.cn/datasets/damo/MSAgent-Bench/summary
- MSAgent-Qwen-7B:https://modelscope.cn/models/damo/MSAgent-Qwen-7B/summary
已集成的工具列表
目前 ModelScope-Agent 已經(jīng)默認接入了自然語言處理、語音、視覺、多模態(tài)等眾多 AI 模型,還默認集成了知識檢索、API 檢索等開源方案。
ModelScope-Agent 實踐
ModelScope-Agent github 還提供了保姆級實踐 demo 頁,讓小白新手也能搭建屬于自己的智能體。
下載 demo notebook:https://github.com/modelscope/modelscope-agent/blob/master/demo/demo_qwen_agent.ipynb
1、首先拉取 ModelScope-Agent 代碼并安裝相關(guān)依賴
2、配置 config 文件,ModelScope token 和構(gòu)建 API 工具檢索引擎
3、中樞大模型啟動
4、Agent 構(gòu)建和使用,依賴之前構(gòu)建好的大模型,工具 list,工具檢索和記憶模塊
注冊新工具實踐
1、拉取 ModelScope-Agent 代碼后,進入 modelscope_agent/tools 里,通過代碼層面新增工具 custom_tool.py 文件,配置 API 需要的:description,name 和 parameters;同時增加調(diào)用方式,可以選用 local_call 和 remote_call 兩種
2、配置環(huán)境和大模型部署參考上個章節(jié)的 2、3
3、將注冊的新工具構(gòu)建 list,并且增加到 Agent 構(gòu)建過程
4、agen.run () 輸入 query,測試工具可以正常調(diào)用對應(yīng) API
5、agent 會自動調(diào)用對應(yīng)的 API,并返回執(zhí)行結(jié)果給大模型,大模型返回回復(fù)
One More Thing
開發(fā)者可以參考上述教程很容易搭建屬于自己的智能體,ModelScope-Agent 依托魔搭社區(qū),未來也會適配更多新增的開源大模型,推出更多基于 ModelScope-Agent 開發(fā)的應(yīng)用,如客戶服務(wù) Agent、個人助理 Agent、story Agent、Motion Agent、multi-Agent(多模態(tài) Agent) 等等。