导读
魔搭社区推出适配开源大语言模型(LLM)的AI Agent(智能体)开发框架ModelScope-Agent。借助ModelScope-Agent,所有开发者都可基于开源 LLM 搭建属于自己的智能体应用,最大限度释放想象力和创造力!
开源地址:https://github.com/modelscope/modelscope-agent/
技术解析
ModelScope-Agent框架是如何设计的
ModelScope-Agent是一个通用的、可定制的Agent框架,用于实际应用程序,其基于开源的大语言模型 (LLMs) 作为核心,包含记忆控制、工具使用等模块。开源 LLM 主要负责任务规划、调度以及回复生成;记忆控制模块,主要包含知识检索以及 prompt (提示词)管理;工具使用模块,包含工具库以及工具检索和工具可定制化。具有以下特点:
可定制且功能全面的框架:提供可定制的引擎设计,涵盖了数据收集、工具检索、工具注册、存储管理、定制模型训练和实际应用等功能,可用于快速实现实际场景中的应用。
开源LLMs作为核心组件:支持在 ModelScope 社区的多个开源LLMs上进行模型训练,开放大规模中英文工具指令微调数据集。
多样化且全面的API:以统一的方式实现AI模型API和常见的功能API的无缝集成,同时通过调用魔搭社区上开源的文本向量模型,打造API 工具检索引擎,直接根据用户指令检索相关的工具,更便捷易用。
ModelScope-Agent框架是如何执行的
ModelScope-Agent 的工作原理是,把目标拆分成更小的任务,然后一项一项完成。首先,开源 LLM 进行规划调度、调用对应的 API;其次,ModelScope-Agent 执行对应的 API,然后把执行的结果返回给开源 LLM;最后,开源 LLM 最终整理一段回复反馈给用户。
比如,当用户请求“写一个简短故事,并用女声朗读”时,ModelScope-Agent 会展示整个任务规划过程,先通过工具检索检索相关的语音合成工具,然后由 LLM 生成一段故事;接着调用语音生成模型,生成语音并用女声念出;不需要用户配置当前请求可能需要调用到的工具。
ModelScope-Agent框架配套训练数据和模型
除了ModelScope-Agent框架之外,我们还开源了配套的中英文大规模工具指令调用数据集MSAgent-Bench和基于Qwen-7B优化的MSAgent-Qwen-7B模型
MSAgent-Bench:https://modelscope.cn/datasets/damo/MSAgent-Bench/summary
MSAgent-Qwen-7B:https://modelscope.cn/models/damo/MSAgent-Qwen-7B/summary
环境配置
本文在ModelScope的Notebook的环境(这里以PAI-DSW为例)配置下运行 (可单卡运行, 显存要求24G)
1、进入github 下载demo文件:https://github.com/modelscope/modelscope-agent/blob/master/demo/demo_qwen_agent.ipynb
2、进入ModelScope首页:modelscope.cn,进入我的Notebook
3、选择GPU环境,进入PAI-DSW在线开发环境
4、上传下载的demo 文件(demo_qwen_agent.ipynb)
ModelScope-Agent实践操作
通过ModelScope-Agent实现搭建魔搭GPT,调用AI模型工具。也可零代码直接体验魔搭GPT创空间(https://modelscope.cn/studios/damo/ModelScopeGPT/summary)
1、拉取ModelScope-Agent代码并安装相关依赖
2、配置config文件,ModelScope token和构建API工具检索引擎
3、中枢大模型启动
4、Agent构建和使用,依赖之前构建好的大模型,工具list,工具检索和记忆模块
注册新增工具
1、拉取ModelScope-Agent代码后,进入modelscope_agent/tools里,通过代码层面新增工具custom_tool.py文件,配置API需要的:description,name和parameters;同时增加调用方式,可以选用local_call和remote_call两种
2、配置环境和大模型部署参考上个章节的2、3步
3、将注册的新工具构建list,并且增加到Agent构建过程
4、agen.run() 输入query,测试工具可以正常调用对应API
5、agent会自动调用对应的API,并返回执行结果给大模型,大模型返回回复
未来规划
未来,ModelScope-Agent 会接入更多的开源大模型,以及开放更多基于魔搭 Agent 开发的应用,供开发者直接使用,包括客户服务 Agent、个人助理 Agent、story Agent、Motion Agent、multi-Agent(多模态 Agent) 等等,也鼓励 AI 开发者将魔搭 Agent灵活应用于工业制造、游戏开发、智能互联等各个行业。