创建数据集
更新时间:2024-09-23
注意:为提升开发者使用体验,平台升级了数据集管理接口。推荐使用数据集管理V2版本接口,功能更全面、且接口更规范,详见数据集管理API列表;V1版本相关接口不再升级,本文档于2024年8月30日迁移至历史文档;由于V1版本接口后续可能下线停止服务,为避免影响使用,建议接入V2版本接口。
功能介绍
本接口用于创建数据集。
接口调用成功后,会在数据集管理页面,新增一条数据集记录。例如,创建一条名称为“SFT_data_2024”的数据集,接口调用成功后,在数据集管理页面,可以查看到该数据集相关信息。
注意事项
通过API创建数据集,和控制台-创建数据集页面展示字段可能不同:
- 本文API参数有的字段,可能在控制台-创建数据集页面无,如projectType等
- 控制台-创建数据集页面的部分字段,可能在本文API参数中无,如FAQ挖掘功能等
- 后续会持续完善API功能,请关注API文档更新
SDK调用
使用说明
调用本文API,需使用安全认证AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
调用示例
import os
from qianfan.resources.console.consts import DataSetType, DataProjectType, DataTemplateType, DataStorageType
from qianfan import resources
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
resp = resources.Data.create_bare_dataset(
"test_dataset_name",
DataSetType.TextOnly, # 文本数据集
DataProjectType.Conversation, # 对话,Prompt+Response 或者 Prompt+多Response排序
DataTemplateType.NonSortedConversation, # 表示Prompt+Response
DataStorageType.PrivateBos, # 用户私有Bos
"bos_bucket_name", # bos bucket
"bos_path", # bos path
)
print(resp)
返回示例
QfResponse(code = 200,
headers = {...
},
body = {
"log_id": "vyckunn0gyg8d5rb",
"result":
{
"id": 123,
"datasetId": "ds-xxx",
"groupId": 34,
"groupPK": "gd-xxx",
"groupName": "hello_dataset",
"versionId": 3,
"projectId": "prj-cc",
"orgId": "org-yy",
"visibility": "Project",
"dataType": 4,
"projectType": 20,
"templateType": 2000,
"storageType": "sysBos",
"storageInfo":
{
"storageId": "easydata",
"storagePath": "/easydata/_system_/dataset/ds-z07hkq2kyvsmrmdw/texts",
"storageName": "easydata"
},
"createTime": "2023-10-25T16:16:38.430058683+08:00"
},
"status": 200,
"success": True
})
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name | string | 是 | 数据集名称,当创建新数据集时必传非空,示例:数据集名称 |
data_set_type | DataSetTypeI(enum) | 是 | 数据类型,可选值如下: · DataSetType.TextOnly:表示文本 · DataSetType.MultiModel:表示跨模态 |
project_type | DataProjectType | 是 | 标注类型,可选值如下: · DataProjectType.Conversation:表示Prompt+Response 或者 Prompt+多Response排序 · DataProjectType.GenericText:表示纯文本 · DataProjectType.QuerySet:表示Prompt集 · DataProjectType.Text2Image:表示Prompt集+图片 |
template_type | DataTemplateType | 是 | 数据格式(即控制台页面的数据类型),可选值如下: · DataTemplateType.NonSortedConversation:表示Prompt+Response · DataTemplateType.SortedConversation:表示Prompt+多Response排序 · DataTemplateType.GenericText:表示纯文本 · DataTemplateType.QuerySet:表示Prompt集 · DataTemplateType.Text2Image:表示Prompt集+图片 |
storage_type | DataStorageType | 是 | 保存位置,示例:sysBos,可选值如下: · 对象存储BOS,固定值DataStorageType.PrivateBos · 平台共享存储,固定值DataStorageType.PublicBos |
storage_id | string | 否 | 使用对象存储BOS时需要填写使用的bucket |
storage_path | string | 否 | 使用对象存储BOS时需要填写使用的目录 |
返回参数
说明:返回的部分字段如下,未说明的字段暂无需关注。
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 请求ID |
status | int | 状态码 |
success | bool | 是否操作成功,说明: · true:成功 · false:失败 |
result | dict | 返回结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
datasetId | string | 数据集版本ID,全局唯一的随机字符串 |
id | int | 数据集版本ID,注意:该字段后续将废弃,如需使用数据集版本ID,请使用datasetId |
groupId | int | 数据集ID,注意:该字段后续将废弃,如需使用数据集ID,请使用groupPK |
groupPK | string | 数据集ID,全局唯一 |
versionId | int | 版本号 |
groupName | string | 数据集名称 |
displayName | string | 展示名称 |
userId | int | 用户id |
dataType | int | 数据类型 |
projectType | int | 标注类型 |
templateType | int | 数据格式(即控制台页面的数据类型) |
storageInfo | dict | 存储信息 |
createTime | string | 创建时间 |
storageInfo说明
名称 | 类型 | 说明 |
---|---|---|
storageId | string | bucket名称 |
storagePath | string | 完整存储路径 |
storageName | string | bucket名称 |
rawStoragePath | string | bucket下文件夹名称,格式为前后加斜杠,示例:"/yourDir/" |
region | string | 存储所在区域,当数据集存储类型是对象存储BOS时才返回该字段 |
HTTP调用
鉴权说明
调用本文API,使用“基于安全认证AK/SK”进行签名计算鉴权,即使用安全认证中的Access Key ID 和 Secret Access Key进行鉴权,具体鉴权认证机制参考HTTP调用鉴权说明。
请求说明
- 基本信息
请求地址: https://qianfan.baidubce.com/wenxinworkshop/dataset/create
请求方式: POST
- Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值:application/json |
x-bce-date | string | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | string | 是 | 用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具 |
- Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name | string | 是 | 数据集名称,当创建新数据集时必传非空,示例:数据集名称 |
projectType | int | 是 | 标注类型,可选值如下: · 20:表示Prompt+Response 或 Prompt+多Response排序 · 401:表示纯文本 · 402:表示Prompt集 · 705:表示Prompt集+图片 |
templateType | int | 是 | 数据格式(即千帆控制台页面的数据类型),可选值如下: · 2000:表示Prompt+Response · 2001:表示Prompt+多Response排序 · 40100:表示纯文本 · 40200:表示Prompt集 · 70500:表示Prompt集+图片 |
dataType | int | 是 | 数据类型,可选值如下: · 4:表示文本 · 7:表示跨模态 |
storageType | string | 是 | 保存位置,示例:sysBos,可选值如下: · 对象存储BOS,固定值usrBos · 平台共享存储,固定值sysBos |
storageId | string | 否 | 使用对象存储BOS时需要填写使用的bucket |
rawStoragePath | string | 否 | 使用对象存储BOS时需要填写使用的目录,格式为前后加斜杠,示例:"/yourDir/" |
响应说明
说明:返回的部分字段如下,未说明的字段暂无需关注。
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 请求ID |
status | int | 状态码 |
success | bool | 是否操作成功,说明: · true:成功 · false:失败 |
result | object | 返回结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
datasetId | string | 数据集版本ID,全局唯一的随机字符串 |
id | int | 数据集版本ID,注意:该字段后续将废弃,如需使用数据集版本ID,请使用datasetId |
groupId | int | 数据集ID,全局唯一,注意:该字段后续将废弃,如需使用数据集ID,请使用groupPK |
groupPK | string | 数据集ID,全局唯一 |
groupName | string | 数据集名称 |
displayName | string | 展示名称 |
versionId | int | 版本号 |
userId | int | 用户id |
dataType | int | 数据类型 |
projectType | int | 标注类型 |
templateType | int | 数据格式(即千帆控制台页面的数据类型) |
storageInfo | object | 存储信息 |
createTime | string | 创建时间 |
storageInfo说明
名称 | 类型 | 说明 |
---|---|---|
storageId | string | bucket名称 |
storagePath | string | 完整存储路径 |
storageName | string | bucket名称 |
rawStoragePath | string | bucket下文件夹名称,格式为前后加斜杠,示例:"/yourDir/" |
region | string | 存储所在区域,当数据集存储类型是对象存储BOS时才返回该字段 |
创建非排序文本对话数据集示例
请求示例
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/dataset/create' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44a2xxxxx43' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"name": "hello_dataset",
"dataType": 4,
"projectType": 20,
"templateType": 2000,
"storageType": "sysBos"
}'
响应示例
{
"log_id": "vyckunn0gyg8d5rb",
"result": {
"id": 123,
"datasetId": "ds-xxx",
"groupId": 34
"groupPK":"gd-xxx",
"groupName":"hello_dataset",
"versionId": 3,
"projectId": "prj-cc",
"orgId": "org-yy",
"visibility": "Project",
"dataType": 4,
"projectType": 20,
"templateType": 2000,
"storageType": "sysBos",
"storageInfo": {
"storageId": "easydata",
"storagePath": "/easydata/_system_/dataset/ds-z07hkq2kyvsmrmdw/texts",
"storageName": "easydata"
},
"createTime": "2023-10-25T16:16:38.430058683+08:00"
},
"status": 200,
"success": true
}
创建文生图类型数据集示例
请求示例
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/dataset/create' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44a21a52640015de61bc55ca2e6d8cc23d080016e374525543' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"name": "goodBye_dataset",
"dataType": 7,
"projectType": 705,
"templateType": 70500,
"storageType": "usrBos",
"storageId": "yourBucket",
"rawStoragePath": "/yourDir/"
}'
响应示例
{
"log_id": "ywh0p301qrbz1sbv",
"result": {
"datasetId": "ds-xxx",
"groupId": "gd-xxx",
"groupName": "goodBye_dataset",
"versionId": 1,
"projectId": "prj-cc",
"orgId": "org-yy",
"visibility": "Project",
"dataType": 7,
"projectType": 705,
"templateType": 70500,
"storageType": "usrBos",
"storageInfo": {
"storageId": "yourBucket",
"storagePath": "/yourBucket/yourDir/_system_/dataset/ds-rjsh2ygj0ztqsjb9/images",
"storageName": "yourBucket",
"rawStoragePath": "/yourDir/",
"region": "bj"
},
"createTime": "2023-11-02T14:50:30.6533454+08:00"
},
"status": 200,
"success": true
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
code | 错误码 |
message | 错误描述信息,帮助理解和解决发生的错误 |
例如参数错误返回:
{
"code": 500001,
"message": "param invalid"
}
更多错误码,请查看错误码说明。