创建数据集
更新时间:2024-11-07
功能介绍
本接口用于创建新的数据集,数据集创建完成后自带版本V1。
调用本接口和控制台创建数据集页面功能类似,如下图所示。
使用说明
本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程。
SDK调用
示例(创建"Prompt+Response"类型数据集)
- 调用示例
创建"Prompt+Response"数据集,保存位置为平台共享存储。
import json
import os
from qianfan.resources.console.data import Data
from qianfan.resources.console.consts import V2
# 使用安全认证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 = Data.V2.create_dataset(
"your_dataset_name",
V2.DatasetFormat.PromptResponse,
V2.StorageType.SysStorage,
)
print(json.dumps(resp.body))
package main
import (
"context"
"fmt"
"os"
"github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)
func main() {
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
ca := qianfan.NewConsoleAction()
res, err := ca.Call(context.TODO(),
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
"/v2/dataset",
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
"CreateDataset",
// 对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
map[string]interface{}{
"datasetName": "hello_dataset",
"dataFormat": "PromptResponse",
"storageType": "BOS",
"storagePath":"bos:/yourBucket/yourDir/",
})
if err != nil {
panic(err)
}
fmt.Println(string(res.Body))
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;
public class Dome {
public static void main(String args[]){
// 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
ConsoleResponse<Map<String, Object>> response = qianfan.console()
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
.route("/v2/dataset")
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
.action("CreateDataset")
// 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
// Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
// 对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
.body(CollUtils.mapOf(
"datasetName", "hello_dataset",
"dataFormat", "PromptResponse",
"storageType", "BOS",
"storagePath","bos:/yourBucket/yourDir/"
))
.execute();
System.out.println(Json.serialize(response));
}
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');
async function main() {
//base_api_route:调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
//action:调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
//data:对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
const res = await consoleAction({base_api_route: '/v2/dataset', action: 'CreateDataset', data: {
"datasetName": "hello_dataset",
"dataFormat": "PromptResponse",
"storageType": "BOS",
"storagePath":"bos:/yourBucket/yourDir/"
}
});
console.log(res);
}
main();
- 返回示例
{
"requestId": "1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result": {
"versionId": "ds-xxx",
"datasetId": "dg-xxx",
"datasetName":"hello_dataset",
"versionNumber": 1,
"dataFormat": "PromptResponse",
"storageType": "BOS",
"storagePath": "bos:/yourBucket/yourDir/_system_/ds-4saih7rhmcqrp2gu/texts",
"creator":"accountName",
"createTime": "2023-10-25 16:16:38"
}
}
{
"requestId": "1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result": {
"versionId": "ds-xxx",
"datasetId": "dg-xxx",
"datasetName":"hello_dataset",
"versionNumber": 1,
"dataFormat": "PromptResponse",
"storageType": "BOS",
"storagePath": "bos:/yourBucket/yourDir/_system_/ds-4saih7rhmcqrp2gu/texts",
"creator":"accountName",
"createTime": "2023-10-25 16:16:38"
}
}
{
"requestId": "1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result": {
"versionId": "ds-xxx",
"datasetId": "dg-xxx",
"datasetName":"hello_dataset",
"versionNumber": 1,
"dataFormat": "PromptResponse",
"storageType": "BOS",
"storagePath": "bos:/yourBucket/yourDir/_system_/ds-4saih7rhmcqrp2gu/texts",
"creator":"accountName",
"createTime": "2023-10-25 16:16:38"
}
}
{
requestId: '1bef3f87-c5b2-4419-936b-50f9884f10d4',
result: {
versionId: 'ds-xxx',
datasetId: 'dg-xxx',
datasetName:'hello_dataset',
versionNumber: 1,
dataFormat: 'PromptResponse',
storageType: 'BOS',
storagePath: 'bos:/yourBucket/yourDir/_system_/ds-4saih7rhmcqrp2gu/texts',
creator:'accountName',
createTime: '2023-10-25 16:16:38'
}
}
示例(创建"Prompt+Image"类型数据集)
- 调用示例
创建Prompt+Image类型数据集,保存位置为对象存储BOS(需开通),需填写存储所在的bosUri。
import json
import os
from qianfan.resources.console.data import Data
from qianfan.resources.console.consts import V2
# 使用安全认证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 = Data.V2.create_dataset(
"your_dataset_name",
V2.DatasetFormat.PromptImage,
V2.StorageType.Bos,
"bos:/bucket/dir/"
)
print(json.dumps(resp.body))
package main
import (
"context"
"fmt"
"os"
"github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)
func main() {
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
ca := qianfan.NewConsoleAction()
res, err := ca.Call(context.TODO(), "/v2/dataset", "CreateDataset", map[string]interface{}{
"datasetName": "goodBye_dataset",
"dataFormat": "PromptImage",
"storagePath": "bos:/yourBucket/yourDir/",
"storageType": "BOS",
})
if err != nil {
panic(err)
}
fmt.Println(string(res.Body))
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;
public class Dome {
public static void main(String args[]){
// 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
ConsoleResponse<Map<String, Object>> response = qianfan.console()
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
.route("/v2/dataset")
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
.action("CreateDataset")
// 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
// Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
// 对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
.body(CollUtils.mapOf(
"datasetName", "goodBye_dataset",
"dataFormat", "PromptImage",
"storagePath", "bos:/yourBucket/yourDir/",
"storageType", "BOS"
))
.execute();
System.out.println(Json.serialize(response));
}
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');
async function main() {
const res = await consoleAction({base_api_route: 'v2/dataset', action: 'CreateDataset', data: {
"datasetName": "goodBye_dataset",
"dataFormat": "PromptImage",
"storagePath": "bos:/yourBucket/yourDir/",
"storageType": "BOS"
}
});
console.log(res);
}
main();
- 返回示例
{
"requestId": "1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result": {
"versionId": "ds-xxx",
"datasetId": "dg-xxx",
"datasetName": "goodBye_dataset",
"versionNumber": 1,
"dataFormat": "PromptImage",
"storageType": "BOS",
"storagePath": "bos:/yourBucket/yourDir/_system_/dataset/ds-xxx/images",
"creator":"accountName",
"createTime": "2023-11-02 14:50:30"
}
}
{
"requestId": "1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result": {
"versionId": "ds-xxx",
"datasetId": "dg-xxx",
"datasetName": "goodBye_dataset",
"versionNumber": 1,
"dataFormat": "PromptImage",
"storageType": "BOS",
"storagePath": "bos:/yourBucket/yourDir/_system_/dataset/ds-xxx/images",
"creator":"accountName",
"createTime": "2023-11-02 14:50:30"
}
}
{
"requestId": "1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result": {
"versionId": "ds-xxx",
"datasetId": "dg-xxx",
"datasetName": "goodBye_dataset",
"versionNumber": 1,
"dataFormat": "PromptImage",
"storageType": "BOS",
"storagePath": "bos:/yourBucket/yourDir/_system_/dataset/ds-xxx/images",
"creator":"accountName",
"createTime": "2023-11-02 14:50:30"
}
}
{
requestId: '1bef3f87-c5b2-4419-936b-50f9884f10d4',
result: {
versionId: 'ds-xxx',
datasetId: 'dg-xxx',
datasetName: 'goodBye_dataset',
versionNumber: 1,
dataFormat: 'PromptImage',
storageType: 'BOS',
storagePath: 'bos:/yourBucket/yourDir/_system_/dataset/ds-xxx/images',
creator:'accountName',
createTime: '2023-11-02 14:50:30'
}
}
请求参数
注意:不同语言SDK的请求参数不同,请根据实际调用选择对应参数。
- Python SDK请求参数说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
dataset_name | string | 是 | 数据集名称,示例:"helloDataset" |
dataset_format | string | 是 | 数据格式,可选值如下: · V2.DatasetFormat.PromptResponse:表示Prompt+Response · V2.Role:表示Role(user+assistant) · V2.DatasetFormat.Text:表示纯文本 · V2.DatasetFormat.DPOPromptChosenRejected:表示DPO或SimPO数据格式 · V2.DatasetFormat.KTOPromptChosenRejected:表示KTO数据格式 · V2.DatasetFormat.PromptSortedresponses:表示Prompt+多Response排序 · V2.DatasetFormat.Prompt:表示Prompt集 · V2.DatasetFormat.PromptImage:表示Prompt+图片 · V2.PromptImageResponse:表示Prompt+Image+Response |
storageType | string | 是 | 存储类型,可选值: · V2.StorageType.Bos:表示对象存储BOS · V2.StorageType.SysStorage:表示平台共享存储 |
storagePath | string | 否 | 存储类型为对象存储BOS时,说明: (1)对应的完整存储路径即: bos:/bucket/dir (2)示例:将数据集存储到 bucket:yourBucket,dir:yourDir/text需填写的bosPath为 bos:/yourBucket/yourDir/text/ ,注意:以左斜杠结尾 |
- 其它SDK请求参数说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
datasetName | string | 是 | 数据集名称,示例:"helloDataset" |
dataFormat | string | 是 | 数据格式,可选值如下: · PromptResponse:表示Prompt+Response · Role:表示Role(user+assistant) · Text:表示纯文本 · DPO_PromptChosenRejected:表示DPO或SimPO数据格式 · KTO_PromptChosenRejected:表示KTO数据格式 · PromptSortedresponses:表示Prompt+多Response排序 · Prompt:表示Prompt集 · PromptImage:表示Prompt+图片 · PromptImageResponse:表示Prompt+Image+Response |
storageType | string | 是 | 存储类型,可选值: · BOS:表示对象存储BOS · sysStorage:表示平台共享存储 |
storagePath | string | 否 | 存储类型为对象存储BOS时,说明: (1)对应的完整存储路径即: bos:/bucket/dir (2)示例:将数据集存储到 bucket:yourBucket,dir:yourDir/text需填写的bosPath为 bos:/yourBucket/yourDir/text/ ,注意:以左斜杠结尾 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId | string | 请求ID |
result | object | 请求结果,请求成功时返回 |
code | string | 错误码,错误时返回 |
message | string | 错误信息,请求失败时返回 |
result说明
名称 | 类型 | 说明 |
---|---|---|
datasetId | string | 数据集ID |
versionId | string | 数据集版本ID |
versionNumber | int | 数据集版本序号 |
datasetName | string | 数据集名称 |
dataFormat | string | 数据格式,说明: · PromptResponse:表示Prompt+Response · Role:表示Role(user+assistant) · Text:表示纯文本 · DPO_PromptChosenRejected:表示DPO或SimPO数据格式 · KTO_PromptChosenRejected:表示KTO数据格式 · PromptSortedresponses:表示Prompt+多Response排序 · Prompt:表示Prompt集 · PromptImage:表示Prompt+图片 · PromptImageResponse:表示Prompt+Image+Response |
storageType | string | 存储类型,说明: · BOS:表示对象存储BOS · sysStorage:表示平台共享存储 |
storagePath | string | 存储类型为对象存储BOS时,对应的完整存储路径 |
creator | string | 创建人 |
createTime | string | 创建时间,格式:YYYY-MM-DD hh:mm:ss |