有了ModelScope-Agent,小白也能打造專(zhuān)屬智能體,附保姆級(jí)教程
ModelScope-Agent 提出了一個(gè)通用的、可定制的 Agent 框架,方便用戶(hù)打造屬于自己的智能體。它基于開(kāi)源的大語(yǔ)言模型 (LLMs) 作為核心,提供了一個(gè)用戶(hù)友好的系統(tǒng)庫(kù), 具有以下特點(diǎn):
- 可定制且功能全面的框架:提供可定制的引擎設(shè)計(jì),涵蓋了數(shù)據(jù)收集、工具檢索、工具注冊(cè)、存儲(chǔ)管理、定制模型訓(xùn)練和實(shí)際應(yīng)用等功能,可用于快速實(shí)現(xiàn)實(shí)際場(chǎng)景中的應(yīng)用。
 - 開(kāi)源 LLMs 作為核心組件:支持在 ModelScope 社區(qū)的多個(gè)開(kāi)源 LLMs 上進(jìn)行模型訓(xùn)練,并開(kāi)源了配套的中英文工具指令數(shù)據(jù)集 MSAgent-Bench,用于增強(qiáng)開(kāi)源大模型作為 Agent 中樞的規(guī)劃調(diào)度能力。
 - 多樣化且全面的 API,支持 API 檢索:以統(tǒng)一的方式實(shí)現(xiàn)與模型 API 和常見(jiàn)的功能 API 進(jìn)行無(wú)縫集成,默認(rèn)提供開(kāi)源 API 檢索方案。
 

- 論文鏈接:https://arxiv.org/abs/2309.00986
 - 代碼鏈接:https://github.com/modelscope/modelscope-agent
 - ModelScope 體驗(yàn)地址:https://modelscope.cn/studios/damo/ModelScopeGPT/summary
 
能力展示
下面先展示一些基于 ModelScope-Agent 實(shí)現(xiàn)的 ModelScopeGPT (魔搭 GPT)的能力:
1. 單步工具調(diào)用,Agent 需要選擇正確的工具并生成請(qǐng)求,并根據(jù)執(zhí)行結(jié)果返回給用戶(hù)。

2. 多步工具調(diào)用,Agent 需要多個(gè)工具的規(guī)劃、調(diào)度、執(zhí)行和回復(fù)。

3. 多輪對(duì)話(huà)中工具調(diào)用,Agent 需要從歷史對(duì)話(huà)中挖掘需要傳給工具的參數(shù)。

4.基于檢索工具的社區(qū)知識(shí)問(wèn)答。

框架介紹
ModelScope-Agent 框架是如何設(shè)計(jì)的
ModelScope-Agent 是一個(gè)通用的、可定制的 Agent 框架,用于實(shí)際應(yīng)用程序開(kāi)發(fā),其基于開(kāi)源的大語(yǔ)言模型 (LLMs) 作為核心,包含記憶控制、工具使用等模塊。開(kāi)源 LLM 主要負(fù)責(zé)任務(wù)規(guī)劃、調(diào)度以及回復(fù)生成;記憶控制模塊,主要包含知識(shí)檢索以及 prompt (提示詞)管理;工具使用模塊,包含工具庫(kù)以及工具檢索和工具可定制化。ModelScope-Agent 系統(tǒng)架構(gòu)如下:

ModelScope-Agent 框架是如何執(zhí)行的
ModelScope-Agent 的工作原理是,把目標(biāo)拆分成更小的任務(wù),然后一項(xiàng)一項(xiàng)完成。比如,當(dāng)用戶(hù)請(qǐng)求「寫(xiě)一個(gè)簡(jiǎn)短故事,并用女聲朗讀,同時(shí)配個(gè)視頻」時(shí),ModelScope-Agent 會(huì)展示整個(gè)任務(wù)規(guī)劃過(guò)程,先通過(guò)工具檢索檢索相關(guān)的語(yǔ)音合成工具,然后由開(kāi)源 LLM 進(jìn)行規(guī)劃調(diào)度, 首先生成一段故事,然后調(diào)用對(duì)應(yīng)語(yǔ)音生成模型,生成語(yǔ)音并用女聲念出,展示給用戶(hù),最后再調(diào)用視頻生成模型,針對(duì)生成的故事內(nèi)容生成一段視頻;這里全程不需要用戶(hù)配置當(dāng)前請(qǐng)求可能需要調(diào)用到的工具,極大提升了使用便捷性。
開(kāi)源大模型訓(xùn)練框架:新的訓(xùn)練方法、數(shù)據(jù)和模型開(kāi)源
除了 ModelScope-Agent 框架之外,研究團(tuán)隊(duì)還提出了新的工具指令微調(diào)訓(xùn)練方法:Weighted LM,通過(guò)對(duì)工具指令調(diào)用部分 token 進(jìn)行 loss 加權(quán),提升開(kāi)源大模型工具指令調(diào)用能力。

研究團(tuán)隊(duì)還開(kāi)源了一個(gè)包含60w具備多輪多步工具指令調(diào)用能力的高質(zhì)量中英數(shù)據(jù)集MSAgent-Bench,基于該數(shù)據(jù)集新的訓(xùn)練方法,研究團(tuán)隊(duì)在 Qwen-7B 基礎(chǔ)上優(yōu)化訓(xùn)練了一個(gè) MSAgent-Qwen-7B 模型,相關(guān)數(shù)據(jù)集和模型都已開(kāi)源。

- 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)默認(rèn)接入了自然語(yǔ)言處理、語(yǔ)音、視覺(jué)、多模態(tài)等眾多 AI 模型,還默認(rèn)集成了知識(shí)檢索、API 檢索等開(kāi)源方案。

ModelScope-Agent 實(shí)踐
ModelScope-Agent github 還提供了保姆級(jí)實(shí)踐 demo 頁(yè),讓小白新手也能搭建屬于自己的智能體。
下載 demo notebook:https://github.com/modelscope/modelscope-agent/blob/master/demo/demo_qwen_agent.ipynb
1、首先拉取 ModelScope-Agent 代碼并安裝相關(guān)依賴(lài)

2、配置 config 文件,ModelScope token 和構(gòu)建 API 工具檢索引擎

3、中樞大模型啟動(dòng)

4、Agent 構(gòu)建和使用,依賴(lài)之前構(gòu)建好的大模型,工具 list,工具檢索和記憶模塊

注冊(cè)新工具實(shí)踐
1、拉取 ModelScope-Agent 代碼后,進(jìn)入 modelscope_agent/tools 里,通過(guò)代碼層面新增工具 custom_tool.py 文件,配置 API 需要的:description,name 和 parameters;同時(shí)增加調(diào)用方式,可以選用 local_call 和 remote_call 兩種

2、配置環(huán)境和大模型部署參考上個(gè)章節(jié)的 2、3
3、將注冊(cè)的新工具構(gòu)建 list,并且增加到 Agent 構(gòu)建過(guò)程

4、agen.run () 輸入 query,測(cè)試工具可以正常調(diào)用對(duì)應(yīng) API

5、agent 會(huì)自動(dòng)調(diào)用對(duì)應(yīng)的 API,并返回執(zhí)行結(jié)果給大模型,大模型返回回復(fù)

One More Thing
開(kāi)發(fā)者可以參考上述教程很容易搭建屬于自己的智能體,ModelScope-Agent 依托魔搭社區(qū),未來(lái)也會(huì)適配更多新增的開(kāi)源大模型,推出更多基于 ModelScope-Agent 開(kāi)發(fā)的應(yīng)用,如客戶(hù)服務(wù) Agent、個(gè)人助理 Agent、story Agent、Motion Agent、multi-Agent(多模態(tài) Agent) 等等。















 
 
 
















 
 
 
 