发起数据集导入任务
更新时间:2024-09-23
注意:为提升开发者使用体验,平台升级了数据集管理接口。推荐使用数据集管理V2版本接口,功能更全面、且接口更规范,详见数据集管理API列表;V1版本相关接口不再升级,本文档于2024年8月30日迁移至历史文档;由于V1版本接口后续可能下线停止服务,为避免影响使用,建议接入V2版本接口。
功能介绍
本接口用于发起数据集导入任务。
接口调用成功后,在数据集管理页面,可以查看导入状态变化,如下图所示:
注意事项
通过API发起数据集导入任务,和控制台页面展示字段不同:
- 本文API参数有的字段,可能在控制台页面无
- 控制台页面的部分字段,可能在本文API参数中无
- 后续会持续完善API功能,请关注API文档更新
SDK调用
使用说明
调用本文API,需使用安全认证AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
调用示例
- 使用bos导入
import os
# 使用bos进行数据导入
from qianfan.resources.console.consts import DataSourceType
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"
ds_id="ds-7pkzh1exthpuy10n"
# 导入
import_resp = resources.Data.create_data_import_task(dataset_id=ds_id,
is_annotated=True,
import_source=DataSourceType.PrivateBos,
file_url="bos:/xxx/xx/xxx/dataset01.jsonl")
print(import_resp)
- 使用共享链接导入
import os
# 使用bos进行数据导入
from qianfan.resources.console.consts import DataSourceType
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"
ds_id="ds-7pkzh1exthpuy10n"
# 导入
import_resp = resources.Data.create_data_import_task(dataset_id=ds_id,
is_annotated=True,
import_source=DataSourceType.SharedZipUrl,
file_url="http[s]://bucketName.bj.bcebos.com/fileName.zip?authorization=bce-auth-v1/c786...")
print(import_resp)
返回示例
QfResponse(code = 200, headers = {...
},
body = {
'log_id': '482ntzjscqg1as02',
'result': 'task-dio1j3jkcor3k4556',
'status': 200,
'success': True
})
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
dataset_id | string | 是 | 要导入的数据集版本ID,示例:ds-xxx,说明: (1)可以通过以下任一方式获取该字段值: · 方式一,通过调用创建数据集接口,返回的datasetId字段获取 · 方式二,在控制台-数据集管理列表页面,点击详情,在版本信息页查看,如下图所示: (2)该字段新增支持string类型,如果之前使用的是int类型,建议变更为string类型,后续可能将逐步废弃int类型;例如之前是通过调用创建数据集接口,返回的id字段获取,请替换为接口返回的datasetId字段获取 |
is_annotated | bool | 是 | 是否带标注导入,可选值如下: · True:表示带标注信息 · False:表示不带 |
import_source | DataSourceType | 是 | 上传方式,可选值如下: · DataSourceType.PrivateBos:对象存储BOS目录/文件上传 · DataSourceType.SharedZipUrl:网络分享链接,将全部文件保存至同一压缩包,压缩包仅支持zip/tar.gz格式,压缩前源文件大小限制5G以内;仅支持来自百度BOS、阿里OSS、腾讯COS、华为OBS的共享链接 |
file_url | string | 否 | 导入文件名称,数量随import_source字段变化,说明: · import_source为DataSourceType.PrivateBos,值为bos:/bucketName/some/path/ (可为目录或文件) · import_source为DataSourceType.SharedZipUrl,值为http[s]://bucketName.bj.bcebos.com/fileName.zip?authorization=bce-auth-v1/c786... |
返回参数
名称 | 类型 | 描述 |
---|---|---|
success | bool | 是否操作成功 |
result | string | 数据集导入任务ID |
status | int | 状态码 |
log_id | string | 操作记录id |
HTTP调用
鉴权说明
调用本文API,使用“基于安全认证AK/SK”进行签名计算鉴权,即使用安全认证中的Access Key ID 和 Secret Access Key进行鉴权,具体鉴权认证机制参考HTTP调用鉴权说明。
请求说明
- 基本信息
请求地址:https://qianfan.baidubce.com/wenxinworkshop/dataset/import
请求方式: POST
- Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | String | 是 | HTTP请求内容的类型,固定值:application/json |
x-bce-date | String | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | String | 是 | 用于验证请求合法性的认证信息。更多参见鉴权认证,签名工具可参考IAM签名工具 |
- Body参数
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
datasetId | string | 是 | 要导入的数据集版本ID,示例:ds-xxx,说明: (1)可以通过以下任一方式获取该字段值: · 方式一,通过调用创建数据集接口,返回的datasetId字段获取 · 方式二,在控制台-数据集管理列表页面,点击详情,在版本信息页查看,如下图所示: (2)该字段新增支持string类型,如果之前使用的是int类型,建议变更为string类型,后续可能将逐步废弃int类型;例如之前是通过调用创建数据集接口,返回的id字段获取,请替换为接口返回的datasetId字段获取 |
annotated | bool | 是 | 是否带标注导入,可选值如下: · true:表示带标注信息 · false:表示不带 |
importFrom | int | 是 | 上传方式,可选值如下: · 1:对象存储BOS目录/文件上传,默认1 · 2:网络分享链接,将全部文件保存至同一压缩包,压缩包仅支持zip/tar.gz格式,压缩前源文件大小限制5G以内;仅支持来自百度BOS、阿里OSS、腾讯COS、华为OBS的共享链接 |
files | string[] | 否 | 导入文件名称列表,数量随importFrom字段变化,说明: · importFrom为1时, files值为bos:/bucketName/some/path/ (可为目录或文件) · importFrom为2时,files值有且仅有1个,值为http[s]://bucketName.bj.bcebos.com/fileName.zip?authorization=bce-auth-v1/c786... |
响应说明
名称 | 类型 | 说明 |
---|---|---|
success | bool | 是否操作成功 |
result | string | 数据集导入任务ID |
status | int | 状态码 |
log_id | string | 操作记录id |
请求示例
示例1:从对象存储BOS导入目录中的所有无标注信息文件示例
# 替换下列示例中的Authorization、x-bce-date等值
curl --location 'https://qianfan.baidubce.com/wenxinworkshop/dataset/import' \
--header 'Authorization: bce-auth-v1/047ab241bad24166xxxxx/2023-10-10T07:48:39Z/1800/host;x-bce-date/c26e0a21944cc53773f3e7ec4xxxxxxxx' \
--header 'x-bce-date: 2023-10-10T07:48:17Z' \
--header 'Content-Type: application/json' \
--data '{
"annotated": false,
"importFrom": 1,
"files": ["bos:/aip-web/ f2ffdfcf-e3d2-4368-9ce6-084af9282f93/"],
"datasetId": "ds-7pkzh1exthpuy10n"
}'
示例2:从分享链接导入目录中的所有无标注信息文件
# 替换下列示例中的Authorization、x-bce-date等值
curl --location 'https://qianfan.baidubce.com/wenxinworkshop/dataset/import' \
--header 'Authorization: bce-auth-v1/047ab241bad24166xxxxx/2023-10-10T07:48:39Z/1800/host;x-bce-date/c26e0a21944cc53773f3e7ec4xxxxxxxx' \
--header 'x-bce-date: 2023-10-10T07:48:17Z' \
--header 'Content-Type: application/json' \
--data '{
"annotated": false,
"importFrom": 2,
"files": ["https://liufudan-cloud-station.oss-cn-chengdu.aliyuncs.com/sample-text-prompt-unannotated%20%282%29.zip?Expires=1699517628&OSSAccessKeyId=TMP.3Kdyovxxxxx8egW1Jc91j5KyexHb5YRkoqM&Signature=7p%2FuSfbFtvn9i53txxR543Esa9A%3D"],
"datasetId": "ds-7pkzh1exthpuy10n"
}'
响应示例
{
"log_id": "9dqjrab9h81gfeex",
"result": "task-dio1j3jkcor3k4556",
"status": 200,
"success": true
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
code | 错误码 |
message | 错误描述信息,帮助理解和解决发生的错误 |
例如参数错误返回:
{
"code": 500001,
"message": "param invalid"
}
更多错误码,请查看错误码说明。