有了ModelScope-Agent,小白也能打造专属智能体,附保姆级教程
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-agent
- ModelScope 体验地址: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/summary
- MSAgent-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,小白也能打造专属智能体,附保姆级教程的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

在Debian系统中,readdir函数用于读取目录内容,但其返回的顺序并非预先定义的。要对目录中的文件进行排序,需要先读取所有文件,再利用qsort函数进行排序。以下代码演示了如何在Debian系统中使用readdir和qsort对目录文件进行排序:#include#include#include#include//自定义比较函数,用于qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

在Debian系统中,readdir系统调用用于读取目录内容。如果其性能表现不佳,可尝试以下优化策略:精简目录文件数量:尽可能将大型目录拆分成多个小型目录,降低每次readdir调用处理的项目数量。启用目录内容缓存:构建缓存机制,定期或在目录内容变更时更新缓存,减少对readdir的频繁调用。内存缓存(如Memcached或Redis)或本地缓存(如文件或数据库)均可考虑。采用高效数据结构:如果自行实现目录遍历,选择更高效的数据结构(例如哈希表而非线性搜索)存储和访问目录信

在Debian系统中,OpenSSL是一个重要的库,用于加密、解密和证书管理。为了防止中间人攻击(MITM),可以采取以下措施:使用HTTPS:确保所有网络请求使用HTTPS协议,而不是HTTP。HTTPS使用TLS(传输层安全协议)加密通信数据,确保数据在传输过程中不会被窃取或篡改。验证服务器证书:在客户端手动验证服务器证书,确保其可信。可以通过URLSession的委托方法来手动验证服务器

本文介绍如何在Debian系统中调整ApacheWeb服务器的日志记录级别。通过修改配置文件,您可以控制Apache记录的日志信息的详细程度。方法一:修改主配置文件定位配置文件:Apache2.x的配置文件通常位于/etc/apache2/目录下,文件名可能是apache2.conf或httpd.conf,具体取决于您的安装方式。编辑配置文件:使用文本编辑器(例如nano)以root权限打开配置文件:sudonano/etc/apache2/apache2.conf

Debian系统中的readdir函数是用于读取目录内容的系统调用,常用于C语言编程。本文将介绍如何将readdir与其他工具集成,以增强其功能。方法一:C语言程序与管道结合首先,编写一个C程序调用readdir函数并输出结果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

本指南将指导您学习如何在Debian系统中使用Syslog。Syslog是Linux系统中用于记录系统和应用程序日志消息的关键服务,它帮助管理员监控和分析系统活动,从而快速识别并解决问题。一、Syslog基础知识Syslog的核心功能包括:集中收集和管理日志消息;支持多种日志输出格式和目标位置(例如文件或网络);提供实时日志查看和过滤功能。二、安装和配置Syslog(使用Rsyslog)Debian系统默认使用Rsyslog。您可以通过以下命令安装:sudoaptupdatesud

在Debian邮件服务器上安装SSL证书的步骤如下:1.安装OpenSSL工具包首先,确保你的系统上已经安装了OpenSSL工具包。如果没有安装,可以使用以下命令进行安装:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私钥和证书请求接下来,使用OpenSSL生成一个2048位的RSA私钥和一个证书请求(CSR):openss

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置
