modelscope-agent 提供了一个通用的、可定制的 agent 框架,方便用户打造属于自己的智能体。该框架基于开源的大语言模型 (llms) 作为核心,并提供了一个用户友好的系统库,具有以下特点:
可定制且功能全面的框架:提供可定制的引擎设计,涵盖了数据收集、工具检索、工具注册、存储管理、定制模型训练和实际应用等功能,可用于快速实现实际场景中的应用。开源 llms 作为核心组件:支持在 modelscope 社区的多个开源 llms 上进行模型训练,并开源了配套的中英文工具指令数据集 msagent-bench,用于增强开源大模型作为 agent 中枢的规划调度能力。多样化且全面的 api,支持 api 检索:以统一的方式实现与模型 api 和常见的功能 api 进行无缝集成,默认提供开源 api 检索方案。
论文链接:https://arxiv.org/abs/2309.00986代码链接:https://github.com/modelscope/modelscope-agentmodelscope 体验地址:https://modelscope.cn/studios/damo/modelscopegpt/summary能力展示下面先展示一些基于 modelscope-agent 实现的 modelscopegpt (魔搭 gpt)的能力:
需要进行重写的内容是:1. 在单步工具调用中,agent 需要选择适当的工具并生成请求,然后根据执行结果将结果返回给用户
2. 在多步工具调用中,agent 需要进行多个工具的规划、调度、执行和回复
3. 多轮对话中工具调用,agent 需要从历史对话中挖掘需要传给工具的参数。
基于检索工具的社区知识问答平台
框架介绍modelscope-agent 框架的设计原理是什么?
modelscope-agent 是一个通用的、可定制的 agent 框架,用于实际应用程序开发,其基于开源的大语言模型 (llms) 作为核心,包含记忆控制、工具使用等模块。开源 llm 主要负责任务规划、调度以及回复生成;记忆控制模块,主要包含知识检索以及 prompt (提示词)管理;工具使用模块,包含工具库以及工具检索和工具可定制化。modelscope-agent 系统架构如下:
modelscope-agent 框架是如何执行的
modelscope-agent 的工作原理是,把目标拆分成更小的任务,然后一项一项完成。比如,当用户请求「写一个简短故事,并用女声朗读,同时配个视频」时,modelscope-agent 会展示整个任务规划过程,先通过工具检索检索相关的语音合成工具,然后由开源 llm 进行规划调度, 首先生成一段故事,然后调用对应语音生成模型,生成语音并用女声念出,展示给用户,最后再调用视频生成模型,针对生成的故事内容生成一段视频;这里全程不需要用户配置当前请求可能需要调用到的工具,极大提升了使用便捷性。
开源大模型训练框架:全新的训练方法、数据和模型开源化
除了 modelscope-agent 框架之外,研究团队还提出了新的工具指令微调训练方法:weighted lm,通过对工具指令调用部分 token 进行 loss 加权,提升开源大模型工具指令调用能力。
研究团队还发布了一个名为msagent-bench的高质量中英数据集,其中包含60万个具备多轮多步工具指令调用能力的样本。基于这个数据集,研究团队采用了新的训练方法,对qwen-7b模型进行了优化,得到了一个名为msagent-qwen-7b的模型。相关的数据集和模型已经在开源平台上公开发布
msagent-bench:https://modelscope.cn/datasets/damo/msagent-bench/summarymsagent-qwen-7b:https://modelscope.cn/models/damo/msagent-qwen-7b/summary重写后的内容:集成工具清单
目前 modelscope-agent 已经默认接入了自然语言处理、语音、视觉、多模态等众多 ai 模型,还默认集成了知识检索、api 检索等开源方案。
modelscope-agent 实践modelscope-agent github 还提供了保姆级实践 demo 页,让小白新手也能搭建属于自己的智能体。
请下载演示笔记本:https://github.com/modelscope/modelscope-agent/blob/master/demo/demo_qwen_agent.ipynb
1、首先拉取 modelscope-agent 代码并安装相关依赖
2、需要配置 config 文件,包括 modelscope token 和构建 api 工具检索引擎
3、中枢大模型启动
4、代理构建和使用,依赖之前构建好的大模型,工具列表,工具检索和记忆模块
注册新工具实践1、在拉取 modelscope-agent 代码后,进入 modelscope_agent/tools 目录,在代码层面新增一个名为 custom_tool.py 的文件。在该文件中配置 api 所需的:描述(description)、名称(name)和参数(parameters)。同时,增加两种调用方式的选项:local_call(本地调用)和 remote_call(远程调用)
需要重新写的内容是:2、配置环境和大模型部署参考前一章节的2、3
3、将新注册的工具构建成列表,并添加到agent的构建过程中
4、使用agen.run()方法,输入查询(query)来测试工具是否能够成功调用相应的api
5、代理会自动调用相应的api,并将执行结果返回给主模型,主模型再返回回复
one more thing开发者可以参考上述教程很容易搭建属于自己的智能体,modelscope-agent 依托魔搭社区,未来也会适配更多新增的开源大模型,推出更多基于 modelscope-agent 开发的应用,如客户服务 agent、个人助理 agent、story agent、motion agent、multi-agent(多模态 agent) 等等。
以上就是有了modelscope-agent,小白也能打造专属智能体,附保姆级教程的详细内容。