创建批量预测任务
更新时间:2024-07-25
功能介绍
本接口用于创建批量预测任务。
注意事项及前提条件
- 任务数量限制:一个账户处于运行中状态(running)的批量任务不能超过5个。否则提交任务会报错
TaskRunningNumberExceedLimit
。 - 权限要求:需要具有
BOSFullControlAccessPolicy
和QianfanFullControlAccessPolicy
权限。
- 开通计费:提交任务前,需要提前开通计费。在千帆控制台-计费管理页面,点击大模型推理,找到需开通计费的服务,点击开通付费,如下图所示:
支持范围:
模型 | 参数类型 | 参数值 |
---|---|---|
ERNIE-4.0-8K | endpoint | https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro |
ERNIE-3.5-8K | endpoint | https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions |
ERNIE-Speed-8K预置模型 | modelId | ERNIE-Speed-8K预置模型id固定:amv-pzqtzdspm77m |
ERNIE-Lite-8K预置模型 | modelId | ERNIE-Lite-8K预置模型id固定:amv-irrrsmxabb6r |
ERNIE-Tiny-8K预置模型 | modelId | RNIE-Tiny-8K预置模型:amv-sb5kfqie51z1 |
ERNIE-Speed-8K定制模型 | modelId | 定制模型的modelid参数又系统生成,可以通过一下方式获取。我的模型—>查看模型详情->找到模型版本id ![]() |
ERNIE-Lite-8K定制模型 | modelId | 同上 |
ERNIE-Tiny-8K定制模型 | modelId | 同上 |
SDK调用
使用说明
调用本文API,需使用安全认证AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
调用示例
import os
import qianfan
from qianfan.resources.console.data import Data
# 使用安全认证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.create_offline_batch_inference_task(
name=f"task_name",
endpoint="https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions",
inference_params= {},
input_bos_uri="bos:/sdk_test/inference-input/",
output_bos_uri="bos:/sdk-test/inference-output/"
)
print(resp.body)
返回示例
{
"requestId": "2541c2fd-0xx8-xxxx-xxxx-0xxxxxx3",
"result": {
"taskId": "infer-9iaxxxt9mp"
}
}
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name | string | 是 | 任务名称取值范围:字符串长度为 [2, 20] |
description | string | 否 | 任务描述取值范围:字符串长度为 [0, 500] |
endpoint | string | 否 | 推理服务endpoint,说明: (1)如果使用预置服务(如ERNIE-4.0-8K),该字段为必填 (2)endpoint和model_id只能填写其中一个 (3)示例endpoint: https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro |
model_id | string | 否 | 模型版本ID,示例:amv-g73j3faikzpz,说明: (1)endpoint和model_id只能填写其中一个 (2)如果使用SFT模型,该字段为必填;在千帆控制台-我的模型页面,点击某模型详情,在版本列表中查看模型版本ID ![]() |
inferenceParams | object | 是 | 推理服务参数,JSON Schema 格式,示例:"inferenceParams":{ "temperature":0.9, "top_p":0.3 } |
input_bos_uri | string | 是 | 数据输入bos目录,说明: (1)建议bos目录下不要嵌套目录 (2)任务限制调整为普通用户5个(不区分预置服务与sft模型) (3)数据尽可能均分到目录下的每个文件,单个任务文件数量100(含子目录) (4)全部文件累计大小不超过 100*1024*1024 字节,即大小不超过300MB (5)文件格式要求,示例请参考本文文件源数据格式说明: · 文件内容必须符合JsonLine格式要求,⽂件内 id唯⼀,query为请求数据 · 文件格式不强制要求是.jsonl,可以是.txt,但推荐.jsonl后缀名 (6)示例输入文件:bos:/bucket-name/文件夹名称/ |
output_bos_uri | string | 是 | 结果输出bos目录,说明: (1)固定输出格式为jsonl (2)示例输出文件:bos:/bucket-name/文件夹名称/ (3)输出文件数量与输入文件数量一一对应 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
requestId | string | 请求ID |
result | object | 请求结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
taskId | string | 任务ID |
HTTP调用
鉴权说明
调用本文API,使用“安全认证/Access Key ”中的Access Key ID 和 Secret Access Key等进行鉴权,无法使用获取Access Token的方式鉴权,具体鉴权认证机制参考鉴权认证机制。
请求说明
- 基本信息
请求地址: https://qianfan.baidubce.com/v2/batchinference
请求方式: POST
- Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值application/json |
x-bce-date | string | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | string | 是 | 用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具 |
- Query参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Action | string | 是 | 方法名称,固定值CreateBatchInferenceTask |
- Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
name | string | 是 | 任务名称取值范围:字符串长度为 [2, 20] |
description | string | 否 | 任务描述取值范围:字符串长度为 [0, 500] |
endpoint | string | 否 | 推理服务endpoint,说明: (1)如果使用预置服务(如ERNIE-4.0-8K),该字段为必填 (2)endpoint和modelId只能一个有值 (3)示例endpoint: https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro |
modelId | string | 否 | 模型版本ID,示例:amv-g73j3faikzpz,说明: (1)endpoint和modelId只能一个有值 (2)如果使用SFT模型,该字段为必填;在千帆控制台-我的模型页面,点击某模型详情,在版本列表中查看模型版本ID ![]() |
inferenceParams | object | 是 | 推理服务参数,JSON Schema 格式,示例:"inferenceParams":{ "temperature":0.9, "top_p":0.3 } |
inputBosUri | string | 是 | 数据输入bos目录,说明: (1)建议bos目录下不要嵌套目录 (2)任务限制调整为普通用户5个(不区分预置服务与sft模型) (3)数据尽可能均分到目录下的每个文件,单个任务文件数量100(含子目录) (4)全部文件累计大小不超过 100*1024*1024 字节,即大小不超过300MB (5)文件格式要求,示例请参考本文文件源数据格式说明: · 文件内容必须符合JsonLine格式要求,⽂件内 id唯⼀,query为请求数据 · 文件格式不强制要求是.jsonl,可以是.txt,但推荐.jsonl后缀名 (6)示例输入文件:bos:/bucket-name/文件夹名称/ |
outputBosUri | string | 是 | 结果输出bos目录,说明: (1)固定输出格式为jsonl (2)示例输出文件: bos:/bucket-name/output/ (3)输出文件数量与输入文件数量一一对应 |
inputBosUri目录下输入文件数据格式说明
例如,文件名为test-batch-infer-data.jsonl
,内容如下
{"id": "1", "query": "地球的自转周期是多久?"}
{"id": "2", "query": "太阳系中最大的行星是哪颗?"}
{"id": "3", "query": "月亮是围绕地球还是围绕太阳运转的?"}
{"id": "4", "query": "水的化学式是什么?"}
{"id": "5", "query": "世界上最高的山是哪座?"}
{"id": "6", "query": "哪个国家拥有世界上最多的人口?"}
{"id": "7", "query": "大气中最丰富的气体是什么?"}
{"id": "8", "query": "地球上最大的洲是什么?"}
{"id": "9", "query": "水的冰态在摄氏多少度开始融化?"}
{"id": "10", "query": "化学元素周期表中第一位的元素是什么?"}
outputBosUri目录下输出文件数据格式说明
在批量预测任务成功以后,会在outputBosUri目录下,按照outputDir分目录生成与输入文件对应同名的输出文件,内容格式如下:
{"id":"7","output":{"created":1709216524,"finish_reason":"normal","id":"as-nn7xd2vdcc","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"大气中最丰富的气体是氮气,占大气总体积的约78%。","usage":{"completion_tokens":17,"prompt_tokens":6,"total_tokens":23}},"query":"大气中最丰富的气体是什么?"}
{"id":"10","output":{"created":1709216525,"finish_reason":"normal","id":"as-mq5rcuhc4d","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"化学元素周期表第一位是氢元素,符号为H。","usage":{"completion_tokens":13,"prompt_tokens":9,"total_tokens":22}},"query":"化学元素周期表中第一位的元素是什么?"}
{"id":"4","output":{"created":1709216526,"finish_reason":"normal","id":"as-h7bw5f8kg5","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"水的化学式是H₂O。水是由氢、氧两种元素组成的无机物,无毒,可饮用。在常温常压下为无色无味的透明液体,被称为人类生命的源泉,是维持生命的重要物质。","usage":{"completion_tokens":50,"prompt_tokens":5,"total_tokens":55}},"query":"水的化学式是什么?"}
{"id":"9","output":{"created":1709216528,"finish_reason":"normal","id":"as-swjxpa86s9","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"水的冰态在摄氏0度开始融化。通常情况下,冰的熔点是0℃,当环境温度高于0℃,冰块温度达到0℃时,冰开始融化。冰在融化过程中,冰水混合在一起,温度会长时间保持在0℃,直至完全融化成水。","usage":{"completion_tokens":59,"prompt_tokens":10,"total_tokens":69}},"query":"水的冰态在摄氏多少度开始融化?"}
{"id":"2","output":{"created":1709216528,"finish_reason":"normal","id":"as-5s2f544zhg","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"太阳系中最大的行星是**木星**。木星是太阳系中体积最大的行星,其质量是太阳系其他行星质量的总和的2.5倍。木星是一个气态行星,大气层高度可达5千米,是其他太阳系行星望尘莫及的。木星的大气层中包含大量的氢、氦和甲烷。木星的磁场强度是地球的14倍,这比太阳系中其他任何行星都要强得多。","usage":{"completion_tokens":100,"prompt_tokens":8,"total_tokens":108}},"query":"太阳系中最大的行星是哪颗?"}
{"id":"5","output":{"created":1709216528,"finish_reason":"normal","id":"as-tunquqnqus","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"世界上最高的山是珠穆朗玛峰,海拔高度为8848.86米,同时也是世界上海拔最高的山峰之一。珠穆朗玛峰位于喜马拉雅山脉,是由地质变化挤压而形成的。除了乔戈里峰外,入选世界十大最高山峰榜单的山峰每一座海拔高度都超过了8000米。珠穆朗玛峰是登山者们的梦想攀登地之一,吸引了众多探险者和登山者前来挑战。","usage":{"completion_tokens":99,"prompt_tokens":6,"total_tokens":105}},"query":"世界上最高的山是哪座?"}
{"id":"3","output":{"created":1709216528,"finish_reason":"normal","id":"as-cbmwshisgb","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"月亮是围绕地球运转的。虽然地球和月亮都在围绕太阳公转,但月亮的公转轨道相对于地球来说可以近似地看作是椭圆形的,而地球位于这个椭圆轨道的一个焦点上。因此,月亮和地球之间的相对位置并不是固定的,而是不断变化的。月亮和地球之间的引力相互作用使得月亮绕着地球转,而地球和其他行星的引力相互作用则使得地球绕着太阳转。因此,可以说月亮是绕着地球转动的。","usage":{"completion_tokens":98,"prompt_tokens":10,"total_tokens":108}},"query":"月亮是围绕地球还是围绕太阳运转的?"}
{"id":"1","output":{"created":1709216528,"finish_reason":"normal","id":"as-x236g8ie3w","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"地球的自转周期约为**24小时**,也就是一天。这个周期相对于恒星的位置而言,每23小时56分旋转一周,这是现行时间标量的依据。\n\n地球自转是地球的一种重要运动形式,自转的平均角速度为7.292×10-5弧度/秒,在地球赤道上的自转线速度为465米/秒。\n\n如需更多地球自转周期相关的知识,可以查阅中国科普博览等科普类公众号或微博。","usage":{"completion_tokens":114,"prompt_tokens":7,"total_tokens":121}},"query":"地球的自转周期是多久?"}
{"id":"8","output":{"created":1709216530,"finish_reason":"normal","id":"as-51vvirauqj","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"地球上最大的洲是亚洲。亚洲是七大洲中面积最大、人口最多的一个洲,覆盖地球总面积的8.7%(或言总陆地面积的29.4%)。亚洲绝大部分地区位于北半球和东半球,其内部共有40个国家和地区,人口总数约为40亿,约占世界总人口的约60.5%(2010年)。亚洲的面积约为4400万平方千米,是世界第一大洲。","usage":{"completion_tokens":100,"prompt_tokens":6,"total_tokens":106}},"query":"地球上最大的洲是什么?"}
{"id":"6","output":{"created":1709216532,"finish_reason":"normal","id":"as-5hyj5hq07r","is_truncated":false,"need_clear_history":false,"object":"chat.completion","result":"中国是世界上人口最多的国家,总人口约为14亿,占世界总人口的约18.6%。印度是世界第二大人口大国,总人口约为13.5亿。美国是世界第三大人口大国,总人口约为3.3亿。印度尼西亚是世界第四大人口大国,总人口约为2.7亿。巴西是世界第五大人口大国,总人口约为2.1亿。巴基斯坦是世界第六大人口大国,总人口约为2.2亿。尼日利亚是世界第七大人口大国,总人口约为2.1亿。孟加拉国是世界第八大人口大国,总人口约为1.7亿。俄罗斯是世界第九大人口大国,总人口约为1.4亿。日本是世界第十大人口大国,总人口约为1.2亿。","usage":{"completion_tokens":178,"prompt_tokens":7,"total_tokens":185}},"query":"哪个国家拥有世界上最多的人口?"}
响应说明
名称 | 类型 | 描述 |
---|---|---|
requestId | string | 请求ID |
result | object | 请求结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
taskId | string | 任务ID |
请求示例
curl --location 'https://qianfan.baidubce.com/v2/batchinference?Action=CreateBatchInferenceTask' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx79702c13/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb16xxxe374525543' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"name":"eb4-job4",
"description":"desc",
"endpoint":"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro",
"inferenceParams":{
"temperature":0.9,
"top_p":0.3
},
"inputBosUri":"bos:/sdc-default/zhxxxan/input",
"outputBosUri":"bos:/sdc-default/zhaxxxan/output"
}'
响应示例
{
"requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
"result":{
"taskId":"infer-9ia3xxxt9mp"
}
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
requestId | 请求ID |
code | 错误码,帮助理解和解决发生的错误 |
message | 错误描述信息,帮助理解和解决发生的错误 |
例如返回:
{
"requestId":"1bef3f87-xxx0f9884f10d4",
"code":"AccessDenied",
"message":"Access denied."
}
更多千帆大模型平台其他错误码,也可以查看错误码说明。