获取模型精调任务列表
更新时间:2024-09-29
功能介绍
本接口用于获取模型精调任务列表。
SDK调用
使用说明
本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程。
调用示例
import os
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"
# 将示例中的job_id替换为实际使用值
list_task_resp = resources.FineTune.V2.task_list(job_id="job-6ucxxxx8q0")
print(list_task_resp)
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/finetuning",
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
"DescribeFineTuningTasks",
// 对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
map[string]interface{}{
"jobId":"job-n50985crhqq3",
"marker":"task-n50985crhqq3",
})
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/finetuning")
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求参数-Query参数的Action
.action("DescribeFineTuningTasks")
// 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
// Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
// 对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
.body(CollUtils.mapOf(
"jobId","job-n50985crhqq3",
"marker","task-n50985crhqq3"
))
.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/finetuning', action: 'DescribeFineTuningTasks', data: {
"jobId":"job-n509xxxq3",
"marker":"task-n509xxxqq3"
}
});
console.log(res);
}
main();
返回示例
QfResponse(code = 200, headers = {
...
},
body = {
'requestId': 'be893522-7b63-4795-b449-2cxxx4bc1',
'result':
{
'pageInfo':
{
'isTruncated': False, 'marker': '',
'maxKeys': 100
},
'taskList': [
{
'createTime': '2024-02-29T08:29:17Z',
'finishTime': '0000-00-00T00:00:00Z',
'jobDescription': 'ebspxxxasks',
'jobId': 'job-6ucxxx8q0',
'jobName': 'job1',
'model': 'ERNIE-Speed',
'parameterScale': 'FullFineTuning',
'runStatus': 'Running',
'taskId': 'task-2jsxxxi9a',
'trainMode': 'SFT'
}]
}
}
)
{
"requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result":{
"taskList":[
{
"taskId":"task-0tgmn4a7h4i6",
"jobId":"job-ftp4icwebtnc",
"jobName":"job-name",
"jobDescription":"job-description",
"model":"ERNIE-Speed-8K",
"trainMode":"SFT",
"parameterScale":"FullFineTuning",
"runStatus":"Done",
"metrics": {
"BLEU-4": "17.03%",
"ROUGE-1": "30.83%",
"ROUGE-2": "12.37%",
"ROUGE-L": "29.14%"
},
"createTime":"2024-01-16T09:48:35Z",
"finishTime":"2024-01-16T10:48:35Z"
}
],
"pageInfo":{
"marker":"task-n50985crhqq3",
"maxKeys":1,
"isTruncated":false
}
}
}
{
"requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result":{
"taskList":[
{
"taskId":"task-0tgmn4a7h4i6",
"jobId":"job-ftp4icwebtnc",
"jobName":"job-name",
"jobDescription":"job-description",
"model":"ERNIE-Speed-8K",
"trainMode":"SFT",
"parameterScale":"FullFineTuning",
"runStatus":"Done",
"metrics": {
"BLEU-4": "17.03%",
"ROUGE-1": "30.83%",
"ROUGE-2": "12.37%",
"ROUGE-L": "29.14%"
},
"createTime":"2024-01-16T09:48:35Z",
"finishTime":"2024-01-16T10:48:35Z"
}
],
"pageInfo":{
"marker":"task-n50985crhqq3",
"maxKeys":1,
"isTruncated":false
}
}
}
{
requestId:'1bef3f87-c5b2-4419-936b-50f9884f10d4',
result:{
taskList:[
{
taskId:'task-0tgmn4a7h4i6',
jobId:'job-ftp4icwebtnc',
jobName:'job-name',
jobDescription:'job-description',
model:'ERNIE-Speed-8K',
trainMode:'SFT',
parameterScale:'FullFineTuning',
runStatus:'Done',
metrics: {
BLEU-4: '17.03%',
ROUGE-1: '30.83%',
ROUGE-2: '12.37%',
ROUGE-L: '29.14%'
},
createTime:'2024-01-16T09:48:35Z',
finishTime:'2024-01-16T10:48:35Z'
}
],
pageInfo:{
marker:'task-n50985crhqq3',
maxKeys:1,
isTruncated:false
}
}
}
请求参数
注意:以下为Python SDK参数说明,Go SDK、Java SDK、Node.js SDK参数说明请参考本文HTTP调用-请求说明。
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
job_id | string | 是 | 作业ID,说明: (1)该参数只支持Post-pretrain、SFT 下的训练任务 (2)可以通过以下方式获取该参数值,以SFT为例,在控制台-模型精调页面,查看ID,如下图所示: |
max_keys | string | 否 | 本次查询的起始位置,默认从第一条数据开始 |
maxKeys | int | 否 | 说明: (1)默认值是10 (2)返回的列表长度最大为100 (3)如果指定的值大于100,按100操作 |
page_reverse | bool | 否 | 是否倒序,默认为False |
返回参数
请参考本文HTTP调用-响应说明。
HTTP调用
鉴权说明
调用本文API,使用“基于安全认证AK/SK”进行签名计算鉴权,即使用安全认证中的Access Key ID 和 Secret Access Key进行鉴权,具体鉴权认证机制参考HTTP调用鉴权说明。
请求说明
- 基本信息
请求地址:
https://qianfan.baidubce.com/v2/finetuning
请求方式: POST
- Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值application/json |
x-bce-date | string | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | string | 是 | 用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具 |
- Query参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Action | string | 是 | 方法名称,固定值DescribeFineTuningTasks |
- Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
jobId | string | 是 | 作业ID,说明: (1)该参数只支持Post-pretrain、SFT 下的训练任务 (2)可以通过以下方式获取该参数值,以SFT为例,在控制台-模型精调页面,查看ID,如下图所示: |
marker | string | 否 | 本次查询的起始位置,默认从第一条数据开始 |
maxKeys | int | 否 | 说明: (1)默认值是10 (2)返回的列表长度最大为100 (3)如果指定的值大于100,按100操作 |
pageReverse | bool | 否 | 是否倒序,默认为false |
响应说明
名称 | 类型 | 描述 |
---|---|---|
requestId | string | 请求ID |
result | object | 请求结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
taskList | List<task> | 任务列表 |
pageInfo | object | 分页信息 |
task说明
名称 | 类型 | 描述 |
---|---|---|
taskId | string | 任务ID |
jobId | string | 作业ID |
jobName | string | 作业名称 |
jobDescription | string | 作业描述 |
model | string | 基础模型版本 |
trainMode | string | 调优的训练模式 |
parameterScale | string | 调优的参数规模 |
runStatus | string | 任务运行状态,说明: · Running:运行中 · Done:运行完成 · Stopped:运行中止 · Failed:运行失败 · Waiting:排队中 |
metrics | object | 评估指标,运行完成才会返回,目前只支持文本生成类型 |
checkpointList | List<checkpointItem> | checkpoint信息 |
createTime | string | 任务创建时间 |
finishTime | string | 任务结束时间 |
errorMessage | string | 错误讯息 |
errorCode | int | 错误码 |
metrics说明
名称 | 类型 | 描述 |
---|---|---|
BLEU-4 | string | 评估指标BLEU-4 |
ROUGE-1 | string | 评估指标ROUGE-1 |
ROUGE-2 | string | 评估指标ROUGE-2 |
ROUGE-L | string | 评估指标ROUGE-L |
checkpointItem说明
名称 | 类型 | 描述 |
---|---|---|
step | int | step |
perplexity | float | perplexity |
trainingLoss | float | trainingLoss |
pageInfo说明
名称 | 类型 | 描述 |
---|---|---|
marker | string | 本次查询的起始位置 |
maxKeys | int | 请求返回的最大数目 |
isTruncated | bool | 是否只返回了部分数据,说明: · false:表示本次已经返回所有结果 · true:表示本次还没有返回所有结果 |
nextMarker | string | 当isTruncated为true时,返回此参数,作为下次查询marker的值 |
请求示例
curl --location 'https://qianfan.baidubce.com/v2/finetuning?Action=DescribeFineTuningTasks' \
--header 'Authorization: bce-auth-v1/f0ee7a166bxxxc13/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfbxxx525543' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"jobId":"job-n50985crhqq3",
"marker":"task-n50985crhqq3"
}'
响应示例
{
"requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result":{
"taskList":[
{
"taskId":"task-0tgmn4a7h4i6",
"jobId":"job-ftp4icwebtnc",
"jobName":"job-name",
"jobDescription":"job-description",
"model":"ERNIE-Speed-8K",
"trainMode":"SFT",
"parameterScale":"FullFineTuning",
"runStatus":"Done",
"metrics": {
"BLEU-4": "17.03%",
"ROUGE-1": "30.83%",
"ROUGE-2": "12.37%",
"ROUGE-L": "29.14%"
},
"createTime":"2024-01-16T09:48:35Z",
"finishTime":"2024-01-16T10:48:35Z"
}
],
"pageInfo":{
"marker":"task-n50985crhqq3",
"maxKeys":1,
"isTruncated":false
}
}
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
requestId | 请求ID |
code | 错误码 |
message | 错误描述信息,帮助理解和解决发生的错误 |
例如错误返回:
{
"requestId":"6ba7b810-xxxc04fd430c8",
"code":"AccessDenied",
"message":"Access denied."
}
更多其他错误码,也可以查看错误码说明。