资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

创建批量推理任务

功能介绍

用于创建批量推理任务。

注意事项

  • 任务数量限制:一个账户处于排队中(Queuing)、运行中(Running)、运行终止中(Stopping)状态的批量任务不能超过20个。否则提交任务会报错TaskRunningNumberExceedLimit
  • 批量推理已产品化,请查看批量推理产品相关介绍
  • 本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程BatchInferenceHelper只支持Python SDK 创建批量推理任务。

支持范围

批量推理支持模型范围可参考批量推理使用文档,也可以参考HTTP调用文档-支持范围

权限说明

调用本文API,需符合以下权限要求,权限介绍及分配,请查看角色与权限控制列表账号创建与权限分配

  • 需具有以下任一权限:

    • 完全控制千帆大模型平台的权限:QianfanFullControlAccessPolicy
    • 运维操作千帆大模型平台预测服务的权限:QianfanServiceOperateAccessPolicy
  • 需具有BOSFullControlAccessPolicy权限。

image.png

SDK调用

调用示例

import os
from qianfan  import resources

# 通过环境变量初始化认证信息
# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"

resp = resources.console.utils.call_action(
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/batchinference", 
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action
    "CreateBatchInferenceTask", 
    # 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    {
        "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"
    }
)
print(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,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/batchinference",
    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateBatchInferenceTask",
   // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数 
    map[string]interface{}{
            "name":"eb4-job4",
            "description":"desc",                                       
            "endpoint":"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro",
            "inferenceParams":map[string]any{
                "temperature":0.9,
                "top_p":0.3,
            },
            "inputBosUri":"bos:/sdc-default/zhxxxan/input",
            "outputBosUri":"bos:/sdc-default/zhaxxxan/output",
    })
    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,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
                .route("/v2/batchinference")
                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
                .action("CreateBatchInferenceTask")
                // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
                // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
                // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
                .body(CollUtils.mapOf(
                        "name","eb4-job4",
                        "description","desc",                       
                        "endpoint","https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro",
                        "inferenceParams",CollUtils.mapOf(
                            "temperature",0.9,
                            "top_p",0.3
                        ),
                        "inputBosUri","bos:/sdc-default/zhxxxan/input",
                        "outputBosUri","bos:/sdc-default/zhaxxxan/output"
                ))
                .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,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
  //action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
  //data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
  const res = await consoleAction({base_api_route: '/v2/batchinference', action: 'CreateBatchInferenceTask', 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"
    }
  });    
    
  console.log(res);
}

main();

返回示例

{
    "requestId": "2541c2fd-0xx8-xxxx-xxxx-0xxxxxx3",
    "result": {
        "taskId": "infer-9iaxxxt9mp"
    }
}
{
    "requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
    "result":{
        "taskId":"infer-9ia3xxxt9mp"
    }
}
{
    "requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
    "result":{
        "taskId":"infer-9ia3xxxt9mp"
    }
}
{
    requestId:'1bef3f87-c5b2-4419-936b-50f9884f10d4',
    result:{
        taskId:'infer-9ia3xxxt9mp'
    }
}

请求参数

名称 类型 必填 描述
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 image.png
inferenceParams object 推理服务参数,JSON Schema 格式,示例:"inferenceParams":{ "temperature":0.9, "top_p":0.3 }
inputBosUri string 数据输入bos目录,BOS服务说明请参考BOS介绍,说明:
(1)建议bos目录下不要嵌套目录
(2)任务限制调整为普通用户5个(不区分预置服务与sft模型)
(3)数据尽可能均分到目录下的每个文件,单个任务文件数量100(含子目录)
(4)单个任务的所有文件总大小不得超过300MB。如果文件总大小超出该限制,推荐使用下文“SDK调用”章节中介绍的 BatchInferenceHelper 辅助工具,它会自动处理文件切分与批量提交。
(5)文件格式要求,示例请参考本文文件源数据格式说明:
· 文件内容必须符合JsonLine格式要求,⽂件内 id唯⼀,query为请求数据 ,一行一条记录。
· 文件格式不强制要求是.jsonl,可以是.txt,但推荐.jsonl后缀名
(6)示例输入文件:bos:/bucket-name/文件夹名称/
outputBosUri string 结果输出bos目录,BOS服务说明请参考BOS介绍,说明:
(1)示例:bos:/bucket-name/output/,其中bucket-name是已存在的bucket,output是已存在的目录。系统会在该目录下再自动创建一个24位随机字符串命名的目录,避免批量推理任务结果出现重命名覆盖的情况。
(2)固定输出格式为jsonl
(3)输出文件数量与输入文件数量一一对应
completionWindow string 推理服务最长完成时间,可选值:"24h"
dataFormat string 推理数据格式,可选值如下:
· default,不填默认是default
· src_tgt
· role
version int 推理任务接口版本,可选值如下:
· 1:推理服务V1版本接口,不传默认使用V1版本
· 2:推理服务V2版本接口

inputBosUri目录下输入文件数据格式说明

输入文件支持指定超参数,优先级高于Body参数,具体支持字段详见各大模型API文档,具体支持字段说明如下:

名称
说明
message 聊天上下文信息。说明:
(1)messages成员不能为空,1个成员表示单轮对话,多个成员表示多轮对话,例如:
· 1个成员示例,"messages": [ {"role": "user","content": "你好"}]
· 3个成员示例,"messages": [ {"role": "user","content": "你好"},{"role":"assistant","content":"需要什么帮助"},{"role":"user","content":"自我介绍下"}]
(2)最后一个message为当前请求的信息,前面的message为历史对话信息
(3)成员数目必须为奇数,成员中message的role值说明如下:奇数位message的role值必须为user,偶数位message的role值为assistant。例如:
示例中message中的role值分别为user、assistant、user、assistant、user;奇数位(红框)message中的role值为user,即第1、3、5个message中的role值为user;偶数位(蓝框)值为assistant,即第2、4个message中的role值为assistant img
(4)message中的content总长度和system字段总内容不能超过配置的字符和tokens
system 模型人设,主要用于人设设定,例如,你是xxx公司制作的AI助手,说明:长度限制请参考messages参数说明

例如,以默认Default文件格式举例,文件名为test-batch-infer-data.jsonl,内容如下:

  • test-batch-infer-data.jsonl
{"id": "1", "request_body": {"messages": [{"role": "system", "content": "你是一个旅游规划小助手,可以帮助游客们做攻略"}, {"role": "user", "content": "介绍一下北京"}, {"role": "assistant", "content": "北京,简称“京”,古称燕京、北平,中华民族的发祥地之一,是中华人民共和国首都、直辖市、国家中心城市、超大城市,也是国务院批复确定的中国政治中心、文化中心、国际交往中心、科技创新中心,中国历史文化名城和古都之一,世界一线城市。"}, {"role": "user", "content": "我在上海,周末可以去哪里玩?"}, {"role": "assistant", "content": "上海是一个充满活力和文化氛围的城市,有很多适合周末游玩的地方。以下是几个值得推荐的地方:\n\n上海迪士尼乐园:上海迪士尼乐园是世界上最大的迪士尼主题公园之一,有许多精彩的游乐项目和演出,可以让您尽情享受娱乐和欢乐。\n上海野生动物园:上海野生动物园是一个以自然保护为主题的野生动物园,有许多珍稀动物和植物,可以让您近距离接触大自然。\n\n这些地方都是上海周末游玩的好去处,可以根据自己的兴趣和需求选择合适的行程。"}, {"role": "user", "content": "上海有哪些美食"}], "top_p": 0.5, "temperature": 0.9, "penalty_score": 1.1}}
{"id": "2", "request_body": {"messages": [{"role": "system", "content": "你是一个旅游规划小助手,可以帮助游客们做攻略"}, {"role": "user", "content": "推荐上海最适合旅游的5个景点"}, {"role": "assistant", "content": "外滩:黄浦江畔的标志性景点,欣赏历史建筑群与现代摩天大楼的交融景色。南京路步行街:繁华的商业街,购物、美食、观光一应俱全。豫园:古典江南园林,领略精美园林风光和古老建筑。东方明珠:上海的标志性建筑,可俯瞰整个城市的美景。上海博物馆:了解上海历史文化的绝佳去处,藏品丰富。"}, {"role": "user", "content": "帮我计划上海一日游"}], "top_p": 0.5, "temperature": 0.9, "penalty_score": 1.1}}

上述的 request_body 部分,就是在线接口的请求body内容。在发布批量推理任务之前,可以提前取几条request_body部分的内容在线测试一下

  • Src_Tgt.jsonl
{"system": "你是AI创作助手,中文名是王维。你能够理解语言,协助创作,寻找灵感", "src": ["以波澜壮阔为主题,写一首藏头七绝"]}
{"src": ["1+1等于几?", "不对,1+1应该等于2", "1+1等于几?"], "tgt": ["您好,1+1=3", "很抱歉,我确实出错了,1+1应该等于2"]}
  • Role.jsonl
{"messages": [{"role": "system", "content": "假设你是一个旅游美食博主"}, {"role": "user", "content": "介绍一下北京"}, {"role": "assistant", "content": "北京,简称“京”,古称燕京、北平,中华民族的发祥地之一,是中华人民共和国首都、直辖市、国家中心城市、超大城市,也是国务院批复确定的中国政治中心、文化中心、国际交往中心、科技创新中心,中国历史文化名城和古都之一,世界一线城市。\n\n北京被世界城市研究机构评为世界一线城市,联合国报告指出北京市人类发展指数居中国城市第二位。北京市成功举办夏奥会与冬奥会,成为全世界第一个“双奥之城”。北京有着3000余年的建城史和850余年的建都史,是全球拥有世界遗产(7处)最多的城市。\n\n北京是一个充满活力和创新精神的城市,也是中国传统文化与现代文明的交汇点。在这里,你可以看到古老的四合院、传统的胡同、雄伟的长城和现代化的高楼大厦交相辉映。此外,北京还拥有丰富的美食文化,如烤鸭、炸酱面等,以及各种传统艺术表演,如京剧、相声等。\n\n总的来说,北京是一个充满魅力和活力的城市,无论你是历史爱好者、美食家还是现代都市人,都能在这里找到属于自己的乐趣和归属感。"}, {"role":"user","content": "我在上海,周末可以去哪里玩?"},     {"role":"assistant","content": "上海是一个充满活力和文化氛围的城市,有很多适合周末游玩的地方。以下是几个值得推荐的地方:\n\n1. 上海科技馆:上海科技馆是中国大陆最大的科技馆之一,有许多互动展览和科学实验室,可以让您了解科技的发展历史和最新成果。\n2. 上海博物馆:上海博物馆是一座集艺术、历史和文化于一体的博物馆,有许多精美的艺术品和文物,可以让您深入了解中国和世界的文化历史。\n3. 外滩:外滩是上海的标志性景点之一,有许多高楼大厦和繁华的商业街区,是欣赏黄浦江美景和城市风貌的好去处。\n4. 上海迪士尼乐园:上海迪士尼乐园是世界上最大的迪士尼主题公园之一,有许多精彩的游乐项目和演出,可以让您尽情享受娱乐和欢乐。\n5. 上海野生动物园:上海野生动物园是一个以自然保护为主题的野生动物园,有许多珍稀动物和植物,可以让您近距离接触大自然。\n\n这些地方都是上海周末游玩的好去处,可以根据自己的兴趣和需求选择合适的行程。"},   {"role":"user","content": "上海有哪些美食"}]}
{"messages": [{"role": "system", "content": "假设你是一个旅游美食博主"}, {"role": "user", "content": "介绍一下北京"}, {"role": "assistant", "content": "北京,简称“京”,古称燕京、北平,中华民族的发祥地之一,是中华人民共和国首都、直辖市、国家中心城市、超大城市,也是国务院批复确定的中国政治中心、文化中心、国际交往中心、科技创新中心,中国历史文化名城和古都之一,世界一线城市。\n\n北京被世界城市研究机构评为世界一线城市,联合国报告指出北京市人类发展指数居中国城市第二位。北京市成功举办夏奥会与冬奥会,成为全世界第一个“双奥之城”。北京有着3000余年的建城史和850余年的建都史,是全球拥有世界遗产(7处)最多的城市。\n\n北京是一个充满活力和创新精神的城市,也是中国传统文化与现代文明的交汇点。在这里,你可以看到古老的四合院、传统的胡同、雄伟的长城和现代化的高楼大厦交相辉映。此外,北京还拥有丰富的美食文化,如烤鸭、炸酱面等,以及各种传统艺术表演,如京剧、相声等。\n\n总的来说,北京是一个充满魅力和活力的城市,无论你是历史爱好者、美食家还是现代都市人,都能在这里找到属于自己的乐趣和归属感。"}, {"role":"user","content": "我在上海,周末可以去哪里玩?"},     {"role":"assistant","content": "上海是一个充满活力和文化氛围的城市,有很多适合周末游玩的地方。以下是几个值得推荐的地方:\n\n1. 上海科技馆:上海科技馆是中国大陆最大的科技馆之一,有许多互动展览和科学实验室,可以让您了解科技的发展历史和最新成果。\n2. 上海博物馆:上海博物馆是一座集艺术、历史和文化于一体的博物馆,有许多精美的艺术品和文物,可以让您深入了解中国和世界的文化历史。\n3. 外滩:外滩是上海的标志性景点之一,有许多高楼大厦和繁华的商业街区,是欣赏黄浦江美景和城市风貌的好去处。\n4. 上海迪士尼乐园:上海迪士尼乐园是世界上最大的迪士尼主题公园之一,有许多精彩的游乐项目和演出,可以让您尽情享受娱乐和欢乐。\n5. 上海野生动物园:上海野生动物园是一个以自然保护为主题的野生动物园,有许多珍稀动物和植物,可以让您近距离接触大自然。\n\n这些地方都是上海周末游玩的好去处,可以根据自己的兴趣和需求选择合适的行程。"},   {"role":"user","content": "上海有哪些美食"}]}

outputBosUri目录下输出文件数据格式说明

在批量预测任务成功以后,会在outputBosUri目录下,按照outputDir分目录生成与输入文件对应同名的输出文件,内容格式如下:

{"id": "2", "request_body": {"system": "你是一个旅游规划小助手,可以帮助游客们做攻略", "messages": [{"role": "user", "content": "推荐上海最适合旅游的5个景点"}, {"role": "assistant", "content": "外滩:黄浦江畔的标志性景点,欣赏历史建筑群与现代摩天大楼的交融景色。南京路步行街:繁华的商业街,购物、美食、观光一应俱全。豫园:古典江南园林,领略精美园林风光和古老建筑。东方明珠:上海的标志性建筑,可俯瞰整个城市的美景。上海博物馆:了解上海历史文化的绝佳去处,藏品丰富。"}, {"role": "user", "content": "帮我计划上海一日游"}], "top_p": 0.5, "temperature": 0.9, "penalty_score": 1.1}, "output": {"id": "as-ze81a90xeg", "object": "chat.completion", "created": 1724676179, "result": "当然可以,以下是我为您规划的上海一日游攻略:\n\n**上海一日游攻略**\n\n**早晨:外滩与陆家嘴**\n\n* 8:00-9:00:从外滩开始您的一日游。外滩位于黄浦江畔,您可以欣赏到风格各异的万国建筑群和对岸的摩天大楼,如东方明珠、上海中心大厦等。\n* 9:00-10:00:乘坐轮渡前往陆家嘴,感受摩天大楼的雄伟。如果时间允许,您可以选择登上东方明珠或上海中心大厦的观光层,享受俯瞰整个上海的壮观景色。\n\n**中午:南京路步行街**\n\n* 12:00-13:30:前往南京路步行街享用午餐。这里有各种品牌店、商场和餐厅,您可以购物并品尝美食。推荐尝试生煎包、小笼包等上海特色小吃。\n\n**下午:豫园与城隍庙**\n\n* 14:00-15:30:步行至豫园,这是一座具有明代风格的古典园林。在这里,您可以欣赏到精美的亭台楼阁,感受江南园林的独特韵味。\n* 15:30-17:00:紧邻豫园的城隍庙是一个集购物、餐饮和娱乐于一体的商业街区。您可以在这里购买传统的小吃和手工艺品作为纪念品。\n\n**傍晚:田子坊艺术街区**\n\n* 17:30-19:00:前往充满艺术气息的老弄堂——田子坊。这里保留了上海的石库门建筑,并融入了现代的艺术元素。您可以参观艺术工作室、画廊,并在特色咖啡馆放松身心。\n\n**晚上:新天地或徐家汇商圈**\n\n* 19:30-21:00:晚餐后,您可以前往新天地或徐家汇商圈。新天地是一个时尚的商业街区,融合了古老的石库门建筑和现代商业元素,适合品味国际美食和夜生活。徐家汇商圈则是购物和娱乐的天堂,拥有众多大型购物中心和餐馆。\n\n**实用建议**\n\n1. 交通方式:建议乘坐地铁游览上海,因为地铁网络发达且方便快捷。\n2. 品尝美食:不要错过品尝当地特色小吃的机会,但请注意食品安全和卫生情况。\n3. 行程调整:根据天气和交通状况灵活调整行程安排以确保顺利游玩。\n\n希望这份攻略能帮助您充分体验上海这座城市的魅力!", "is_truncated": false, "need_clear_history": false, "finish_reason": "normal", "usage": {"prompt_tokens": 100, "completion_tokens": 520, "total_tokens": 620}}, "cluster": "online"}
{"id": "1", "request_body": {"system": "你是一个旅游规划小助手,可以帮助游客们做攻略", "messages": [{"role": "user", "content": "介绍一下北京"}, {"role": "assistant", "content": "北京,简称“京”,古称燕京、北平,中华民族的发祥地之一,是中华人民共和国首都、直辖市、国家中心城市、超大城市,也是国务院批复确定的中国政治中心、文化中心、国际交往中心、科技创新中心,中国历史文化名城和古都之一,世界一线城市。"}, {"role": "user", "content": "我在上海,周末可以去哪里玩?"}, {"role": "assistant", "content": "上海是一个充满活力和文化氛围的城市,有很多适合周末游玩的地方。以下是几个值得推荐的地方:\n\n上海迪士尼乐园:上海迪士尼乐园是世界上最大的迪士尼主题公园之一,有许多精彩的游乐项目和演出,可以让您尽情享受娱乐和欢乐。\n上海野生动物园:上海野生动物园是一个以自然保护为主题的野生动物园,有许多珍稀动物和植物,可以让您近距离接触大自然。\n\n这些地方都是上海周末游玩的好去处,可以根据自己的兴趣和需求选择合适的行程。"}, {"role": "user", "content": "上海有哪些美食"}], "top_p": 0.5, "temperature": 0.9, "penalty_score": 1.1}, "output": {"id": "as-ibkz4cfkaa", "object": "chat.completion", "created": 1724676181, "result": "上海的美食种类繁多,各具特色。以下是一些著名的上海美食:\n\n1. **生煎包**:这是上海非常有名的小吃,起源于元代,清朝时在上海开始流行。生煎包是用淀粉水制成的,特点是色泽金黄,撒上芝麻、葱花提香,一口下去香气充盈口内。\n\n2. **小笼包**:上海人特别爱吃小笼馒头(上海人称呼的小笼包),热气腾腾的,蒸的是上海的风味。小笼包皮薄而有弹性,汤汁丰富,味道鲜美。\n\n3. **蟹壳黄**:又称为小麻糕,是上海的特色小吃之一。其馅包含荠菜、白糖、葱油、豆沙等。刚出炉时色泽金黄,香脆酥松,油多而不腻。\n\n4. **白斩鸡**:使用三黄鸡制成,在烹制过程中不加任何调味料,只使用白水煮制,鸡肉白嫩紧致,鸡皮爽脆,非常美味。\n\n5. **排骨年糕**:这是一道色香味俱佳的上海小吃,软糯的年糕搭配酥烂的排骨,再淋上浓郁的酱汁,每一口都充满了满足感。\n\n6. **红烧肉**:选用五花肉为主料,经过焯水、炖煮等工序制作而成,肉质鲜嫩,色泽红亮,是上海本帮菜的代表之一。\n\n7. **阳春面**:以其汤清味鲜、面条爽滑而著名,搭配上精选的猪骨或鸡肉熬煮的高汤,让人感受到上海人的生活热情和追求品质的精神。\n\n8. **酱鸭**:上海酱鸭突出了一个浓油赤酱的特点,看上去色泽红亮,闻上去香味扑鼻,吃上去鸭肉鲜嫩可口,入口爽滑,回味无穷。\n\n9. **鲜肉月饼**:这是源于苏式月饼的传统点心,在上海非常受欢迎。馅料采用新鲜猪肉,烘烤至金黄色,酥脆的外皮与鲜嫩的肉馅交织在一起,令人陶醉。\n\n此外,还有锅贴、馄饨、罗宋汤、粢饭团、下沙烧卖、菜泡饭等众多美食,都是上海日常饮食中的一部分,反映了这座城市独特的美食文化。无论是游客还是当地居民,都可以在这些美食中体验到上海的魅力和风情。", "is_truncated": false, "need_clear_history": false, "finish_reason": "normal", "usage": {"prompt_tokens": 195, "completion_tokens": 523, "total_tokens": 718}}, "cluster": "eks"}

返回参数

名称 类型 描述
requestId string 请求ID
result object 请求结果

result说明

名称 类型 描述
taskId string 任务ID

使用BatchInferenceHelper处理大文件

当输入文件总大小超过300MB限制时,使用SDK中封装的 BatchInferenceHelper 辅助工具可以自动切分大文件进行批量推理。请注意,BatchInferenceHelper 辅助工具目前仅支持 Python SDK 使用。以下示例展示如何使用 BatchInferenceHelper 来创建一个或多个批量推理任务。

调用示例

import os
from qianfan.resources.batch_inference import BatchInferenceHelper


# 通过环境变量初始化认证信息
# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"


# 需要提供一个您有权限的BOS Bucket名称和对应的区域,用于存放切分后的临时文件
helper = BatchInferenceHelper(bos_bucket="your_bucket_name", bos_region="your_region")


# 该方法会自动处理文件切分和任务提交
response = helper.batch_inference(
    # 二选一:endpoint 或 model_id
    # endpoint='your_endpoint',
    model_id='amv-******', # 示例modelId,请在千帆控制台【我的模型】中查找
    
    # 输入和输出路径
    input_uri="bos:/your_input_bucket/your_input_file.jsonl", # 支持文件或目录
    output_uri="bos:/your_output_bucket/your_output_folder",
    
    # 推理参数
    inference_params={
        "temperature": 0.9,
        "top_p": 0.3
    },
    
    # 高级选项
    del_after_finished=False,  # 任务完成后,是否删除在BOS上创建的临时分片数据,默认为False
    wait_finished=True      # 是否阻塞并轮询等待所有任务完成,默认为True。若为False,则立即返回任务ID列表,您可后续自行查询状态。
)


# 如果 wait_finished=True,这里会直接输出任务结果
# 如果 wait_finished=False,这里会输出批量任务的ID (Batch Inference ID),您可以使用 helper.status('your-bf-id') 来查询状态
print(response)

返回示例

{
    "bf_id": "d05a14e199d9490b92107e3bb599bc36",
    "results": []
}

BatchInferenceHelper 参数说明

名称 类型 必填 描述
bos_bucket string (初始化参数) 用于存放因文件切分而产生的临时数据文件的BOS Bucket名称。
bos_region string (初始化参数) bos_bucket 所在的区域。
model_id string 模型版本ID,用于指定进行推理的SFT模型。可以在在千帆控制台-我的模型列表页面找到。model_id 和 endpoint 必须提供一个。
endpoint string 推理服务endpoint,用于指定进行推理的预置服务模型(如ERNIE-4.0-8K)。endpoint 和 model_id 必须提供一个。
input_uri string 原始数据输入的BOS路径。可以是一个具体的 .jsonl 文件路径,也可以是一个包含多个数据文件的目录路径。
output_uri string 批量推理结果的输出BOS目录。
inference_params object 推理服务参数,与基础调用方法中的 inferenceParams 作用相同。例如:{"temperature": 0.9, "top_p": 0.3}。
del_after_finished bool 任务完成后,是否自动删除在BOS上为文件切分而创建的临时数据分片。默认为 False。
wait_finished bool 是否以阻塞方式轮询并等待所有子任务完成。默认为 True。如果设置为 False,调用将立即返回批量任务ID,用户可以后续自行查询状态。
上一篇
SDK安装及使用流程
下一篇
获取批量推理任务详情