test1011001
收藏魔搭社区2025-11-27 更新2024-05-15 收录
下载链接:
https://modelscope.cn/datasets/yameya/test1011001
下载链接
链接失效反馈官方服务:
资源简介:
### MSAgent-Bench
ModelScope-Agent是一个通用且可定制的代理框架,用于实际应用,基于开源LLMs作为种树。它提供了一个用户友好的系统库,具有可定制的引擎设计,支持在多个开源LLMs上进行模型训练,同时还以一种统一的方式实现了与模型API和常见API的无缝集成。
我们提出MSAgentBench书籍,提升开源LLM作为中枢,来集成调用多种ModelScope的众多AI模型能力。具体的收集方式和详细介绍,可以参考[github](https://github.com/modelscope/modelscope-agent)。
### 数据集加载方式
#### 方法1:使用sdk加载
```python
import ast
from modelscope.msdatasets import MsDataset
ds = MsDataset.load('damo/MSAgent-Bench', split='train') # or split='validation'
one_ds = next(iter(ds))
print(one_ds)
# to parse conversations value
conv = one_ds['conversations']
conv = ast.literal_eval(conv)
print(conv[0]['from'])
print(conv[0]['value'])
```
### 数据集介绍
我们在ModelScope社区上提供了插件的训练数据集,包括598k的训练集和对应的验证集,测试集。数据集主要包括了四种:AI模型API,通用API,API无关通用sft数据,API检索增强数据

数据集文件包含了train/dev两个个文件共接近600k样本。数据格式为每行一个样本,里面包含了id和converstions两个字段,其中conversations里面包含了system,user,assistant三种字段。其中:
system: 表示给模型前置的人设输入,其中有告诉模型如何调用插件以及生成请求
user: 表示用户的输入prompt,分为两种,通用生成的prompt和调用插件需求的prompt
assistant: 为模型的回复。其中会包括插件调用代码和执行代码,调用代码是要LLM生成的,而执行代码是调用服务来生成结果的。如下面例子,调用部分代码会通过<|startofthink|>和<|endofthink|>包起来,>然后执行部分代码是api执行完结果后,把执行结果通过<|startofexec|>和<|endofexec|>包起来再输入给模型生成后面的回复
```json
{
"id":"modelscope_merge_api_527",
"conversations":[
{
"from":"system",
"value":"你是达摩院的ModelScopeGPT(魔搭助手),你是个大语言模型, 是2023年达摩院的工程师训练得到的。你有多种能力,可以通过插件集成魔搭社区的模型api来回复用户的问题,还能解答用户使用模型遇到的问题和模型知识相关问答。1. {\"plugin_name\": \"modelscope_text-ie\", \"plugin_owner\": \"ModelScopeGPT\", \"plugin_type\": \"default\", \"plugin_schema_for_model\": {\"name\": \"modelscope_text-ie\", \"description\": \"针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示\", \"url\": \"http://109.199.101.10:1485/\", \"paths\": [{\"name\": \"modelscope_text-ie\", \"model_id\": \"/damo/nlp_structbert_siamese-uie_chinese-base\", \"method\": \"post\", \"description\": \"针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示\", \"parameters\": [{\"name\": \"text\", \"description\": \"用户输入的文本\", \"required\": \"True\"}, {\"name\": \"schema\", \"description\": \"要抽取信息的json表示\", \"required\": \"True\"}]}]}}\n\n2. {\"plugin_name\": \"modelscope_text-ie\", \"plugin_owner\": \"ModelScopeGPT\", \"plugin_type\": \"default\", \"plugin_schema_for_model\": {\"name\": \"modelscope_text-ie\", \"description\": \"针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示\", \"url\": \"http://9.32.64.200:5873/\", \"paths\": [{\"name\": \"modelscope_text-ie\", \"model_id\": \"/damo/nlp_structbert_siamese-uie_chinese-base\", \"method\": \"post\", \"description\": \"针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示\", \"parameters\": [{\"name\": \"text\", \"description\": \"用户输入的文本\", \"required\": \"True\"}, {\"name\": \"schema\", \"description\": \"要抽取信息的json表示\", \"required\": \"True\"}]}]}}\n\n3. {\"plugin_name\": \"modelscope_text-ie\", \"plugin_owner\": \"ModelScopeGPT\", \"plugin_type\": \"default\", \"plugin_schema_for_model\": {\"name\": \"modelscope_text-ie\", \"description\": \"针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示\", \"url\": \"http://54.149.78.185:3979/\", \"paths\": [{\"name\": \"modelscope_text-ie\", \"model_id\": \"/damo/nlp_structbert_siamese-uie_chinese-base\", \"method\": \"post\", \"description\": \"针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示\", \"parameters\": [{\"name\": \"text\", \"description\": \"用户输入的文本\", \"required\": \"True\"}, {\"name\": \"schema\", \"description\": \"要抽取信息的json表示\", \"required\": \"True\"}]}]}}"
},
{
"from":"user",
"value":"按照给定的schema抽取出下面文本对应的信息\nschema:{\"人物\": null, \"地理位置\": null, \"组织机构\": null}\n近日,美国政府宣布将对中国1000多种商品加征关税,并威胁进一步加征关税。"
},
{
"from":"assistant",
"value":"<|startofthink|>```JSON\n{\"api_name\": \"modelscope_text-ie\", \"url\": \"http://9.32.64.200:5873/damo/nlp_structbert_siamese-uie_chinese-base\", \"parameters\": {\"text\": \"近日,美国政府宣布将对中国1000多种商品加征关税,并威胁进一步加征关税。\", \"schema\": \"{\\\"人物\\\": null, \\\"地理位置\\\": null, \\\"组织机构\\\": null}\"}}\n```<|endofthink|>\n\n<|startofexec|>```JSON\n{\"人物\": [], \"地理位置\": [\"中国\", \"美国\"], \"组织机构\": []}\n```<|endofexec|>\n信息抽取结果:{\"人物\": [], \"地理位置\": [\"中国\", \"美国\"], \"组织机构\": []}。我使用的模型是ModelScope的'damo/nlp_structbert_siamese-uie_chinese-base'模型。这是一个基于StructBERT预训练模型微调训练的通用信息抽取模型。"
}
]
}
```
### 方案实现
利用提供的API插件数据,在开源大模型上进行微调,因为数据里面只提供了少量的sft数据,所以最好是基于已经在sft上训练过的生成大模型,这样可以很快的泛化到训练集的API插件数据。
涉及到的几个模型API在魔搭社区都有相应的服务提供,需要测试调用链路是否顺畅,输入输出结果是否符合数据集的要求,比如信息抽取api,可以进入modelscope模型主页,从 “部署” -> “api推理”来调用。
### 推理链路搭建设计到LLM的推理和API的调用
1. 模型生成完整的<|startofthink|>和<|endofthink|>后,需要我们实时的去请求对应的API
2. 返回结果后<|startofexec|>和<|endofexec|>拼接到现有的输入
3. 然后再让大模型继续生成回复
### 实验评估
评估包含下面四个维度:
1. 插件调用的准确率:识别api_name后面的是否正确,
2. 插件url的准确率:url的地址是否正确
3. 插件传入参数的准确率:parameters对应的参数是否正确
4. 插件整体的准确率:生成的 function calling是否完全正确,整个json可以被load的格式
## 数据集版权信息
数据集已经开源,license为Apache License 2.0,如有违反相关条款,随时联系modelscope删除。
### MSAgent-Bench
ModelScope-Agent是一款面向实际应用的通用可定制代理框架,以开源大语言模型(Large Language Model, LLM)为核心基座。它提供了一套用户友好的系统库,采用可定制化的引擎设计,支持在多款开源大语言模型上开展模型训练,同时以统一的方式实现了与模型API及通用API的无缝集成。
我们推出MSAgent-Bench基准测试集,旨在以开源大语言模型为中枢,实现对ModelScope平台上多类AI模型能力的集成调用。其具体构建方式与详细说明可参考[GitHub](https://github.com/modelscope/modelscope-agent)。
### 数据集加载方式
#### 方法一:通过SDK加载
python
import ast
from modelscope.msdatasets import MsDataset
ds = MsDataset.load('damo/MSAgent-Bench', split='train') # or split='validation'
one_ds = next(iter(ds))
print(one_ds)
# to parse conversations value
conv = one_ds['conversations']
conv = ast.literal_eval(conv)
print(conv[0]['from'])
print(conv[0]['value'])
### 数据集介绍
我们在ModelScope社区上提供了插件训练数据集,包含598K训练集、对应验证集与测试集。本数据集涵盖四大类数据:AI模型API调用数据、通用API调用数据、与API无关的通用监督微调(Supervised Fine-Tuning, SFT)数据,以及API检索增强生成数据。

数据集文件包含训练集与验证集两个文件,总计近60万条样本。数据格式为每行一条样本,包含`id`与`conversations`两个字段;其中`conversations`字段包含`system`、`user`、`assistant`三类子字段,具体说明如下:
- `system`:用于为模型设置前置人设与指令,告知模型如何调用插件并生成请求内容
- `user`:代表用户的输入提示词(Prompt),分为通用生成类提示词与插件调用类提示词两类
- `assistant`:对应模型的回复内容,包含插件调用代码与执行代码两部分:其中调用代码由大语言模型生成,执行代码由服务调用结果生成。如示例所示,调用代码会被`<|startofthink|>`与`<|endofthink|>`包裹,而执行代码则是API执行完成后,将结果用`<|startofexec|>`与`<|endofexec|>`包裹后输入模型,以供其生成后续回复
json
{
"id":"modelscope_merge_api_527",
"conversations":[
{
"from":"system",
"value":"你是达摩院的ModelScopeGPT(魔搭助手),你是个大语言模型, 是2023年达摩院的工程师训练得到的。你有多种能力,可以通过插件集成魔搭社区的模型api来回复用户的问题,还能解答用户使用模型遇到的问题和模型知识相关问答。1. {"plugin_name": "modelscope_text-ie", "plugin_owner": "ModelScopeGPT", "plugin_type": "default", "plugin_schema_for_model": {"name": "modelscope_text-ie", "description": "针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示", "url": "http://109.199.101.10:1485/", "paths": [{"name": "modelscope_text-ie", "model_id": "/damo/nlp_structbert_siamese-uie_chinese-base", "method": "post", "description": "针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示", "parameters": [{"name": "text", "description": "用户输入的文本", "required": "True"}, {"name": "schema", "description": "要抽取信息的json表示", "required": "True"}]}]}}
2. {"plugin_name": "modelscope_text-ie", "plugin_owner": "ModelScopeGPT", "plugin_type": "default", "plugin_schema_for_model": {"name": "modelscope_text-ie", "description": "针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示", "url": "http://9.32.64.200:5873/", "paths": [{"name": "modelscope_text-ie", "model_id": "/damo/nlp_structbert_siamese-uie_chinese-base", "method": "post", "description": "针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示", "parameters": [{"name": "text", "description": "用户输入的文本", "required": "True"}, {"name": "schema", "description": "要抽取信息的json表示", "required": "True"}]}]}}
3. {"plugin_name": "modelscope_text-ie", "plugin_owner": "ModelScopeGPT", "plugin_type": "default", "plugin_schema_for_model": {"name": "modelscope_text-ie", "description": "针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示", "url": "http://54.149.78.185:3979/", "paths": [{"name": "modelscope_text-ie", "model_id": "/damo/nlp_structbert_siamese-uie_chinese-base", "method": "post", "description": "针对中文的文本,根据schema要抽取的内容,找出其中对应信息,并用json格式展示", "parameters": [{"name": "text", "description": "用户输入的文本", "required": "True"}, {"name": "schema", "description": "要抽取信息的json表示", "required": "True"}]}]}}"
},
{
"from":"user",
"value":"按照给定的schema抽取出下面文本对应的信息
schema:{"人物": null, "地理位置": null, "组织机构": null}
近日,美国政府宣布将对中国1000多种商品加征关税,并威胁进一步加征关税。"
},
{
"from":"assistant",
"value":"<|startofthink|>JSON
{"api_name": "modelscope_text-ie", "url": "http://9.32.64.200:5873/damo/nlp_structbert_siamese-uie_chinese-base", "parameters": {"text": "近日,美国政府宣布将对中国1000多种商品加征关税,并威胁进一步加征关税。", "schema": "{\"人物\": null, \"地理位置\": null, \"组织机构\": null}"}}
<|endofthink|>
<|startofexec|>JSON
{"人物": [], "地理位置": ["中国", "美国"], "组织机构": []}
<|endofexec|>
信息抽取结果:{"人物": [], "地理位置": ["中国", "美国"], "组织机构": []}。我使用的模型是ModelScope的'damo/nlp_structbert_siamese-uie_chinese-base'模型。这是一个基于StructBERT预训练模型微调训练的通用信息抽取模型。"
}
]
}
### 方案实现
利用本数据集提供的API插件数据对开源大语言模型进行微调;由于本数据集仅包含少量监督微调数据,建议基于已完成监督微调的生成式大语言模型开展微调,以快速适配数据集内的API插件数据。
本数据集涉及的多款模型API均在魔搭社区提供了对应服务,需测试调用链路是否通畅、输入输出结果是否符合数据集要求。以信息抽取API为例,可进入ModelScope模型主页,通过「部署」→「API推理」路径完成调用。
### 推理链路设计
推理链路涵盖大语言模型推理与API调用两个核心环节,具体流程如下:
1. 待模型生成完整的`<|startofthink|>`与`<|endofthink|>`包裹内容后,需实时发起对应API请求
2. 获取API返回结果后,将结果用`<|startofexec|>`与`<|endofexec|>`包裹并拼接至当前输入序列
3. 再驱动大语言模型继续生成后续回复
### 实验评估
本数据集的实验评估涵盖以下四个维度:
1. 插件调用准确率:验证模型识别的`api_name`是否正确
2. 插件URL准确率:验证API地址是否准确
3. 插件参数准确率:验证`parameters`字段内的参数是否正确
4. 插件整体准确率:验证生成的函数调用(Function Calling)内容是否完全正确,且整体JSON格式可被正常解析
## 数据集版权声明
本数据集已开源,采用Apache License 2.0开源协议;若存在违反协议条款的情况,可随时联系ModelScope官方移除数据集。
提供机构:
maas
创建时间:
2023-10-11



