Batch 批处理作业指南,支持离线批量推理,价格更低且不受在线速率限制约束。
1. 概述
通过批量 API 发送批量请求到 KHB 算力云服务平台,不受在线的速率限制和影响,预期可以在 24 小时内完成,且价格降低 50%。该服务非常适合一些不需要立即响应的工作,比如大型的任务评估、信息分类与提取、文档处理等。批量处理结果文件的 URL 有效期为一个月,请及时转存,以防过期影响业务。
2. 使用流程
2.1 准备批量推理任务的输入文件
批量推理任务输入文件格式为 .jsonl,其中每一行都是一个完整的 API 请求的消息体,需满足以下要求:
- 每一行必须包含
custom_id,且每个custom_id须在当前文件中唯一。 - 每一行的
body中必须包含messages对象数组,且数组中消息对象的role为system、user或assistant之一,并且整个数组以user消息结束。 - 您可以为每一行数据按需设置相同或不同的推理参数,如设定不同的
temperature、top_p。 - 如果您希望使用 OpenAI SDK 调用 KHB 批量推理,您需要保证同一输入文件中
model是统一的。 - 每 batch 限制:单个 batch 对应的输入文件大小最大 1 G。
- 批量推理输入限制:单个批量推理对应的输入文件大小不超过 1 G,文件行数不超过 5000 行。
输入文件示例:
{"custom_id": "request-1", "body": {"model": "Qwen/Qwen2.5-7B-Instruct", "messages": [{"role": "user", "content": "什么是机器学习?"}]}}
{"custom_id": "request-2", "body": {"model": "Qwen/Qwen2.5-7B-Instruct", "messages": [{"role": "user", "content": "简述深度学习原理"}]}}
2.2 上传文件
调用 /v1/files 接口上传 .jsonl 文件,获取文件 ID。
curl --request post \
--url https://khb.net.cn/v1/files \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: multipart/form-data' \
--form purpose=batch \
--form 'file=@batch_input.jsonl'
响应示例:
{
"code": 20000,
"message": "Ok",
"status": true,
"data": {
"id": "file-jkvytbjtow",
"object": "file",
"bytes": 8509,
"createdAt": 1741685396,
"filename": "requests.jsonl",
"purpose": "batch"
}
}
2.3 创建批量任务
调用 /v1/batches 接口创建批量任务,指定输入文件 ID、输出目录等参数。
curl --request post \
--url https://khb.net.cn/v1/batches \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--data '{
"input_file_id": "file-jkvytbjtow",
"endpoint": "/v1/chat/completions",
"completion_window": "24h"
}'
2.4 查询任务状态
调用 /v1/batches/{batch_id} 接口查询任务进度,常见状态包括 validating(验证中)、in_progress(执行中)、completed(完成)、failed(失败)、cancelled(已取消)。
2.5 获取结果
任务完成后,从 output_file_id 字段获取输出文件 ID,通过 /v1/files/{file_id}/content 下载结果文件。结果文件为 .jsonl 格式,每行对应一个请求的处理结果。
3. 错误处理
批量任务中部分请求失败时,可在响应中查看每个请求的状态和错误码。常见错误包括:
400:请求参数错误429:触发速率限制(理论上不会,但仍可能因系统保护触发)500/503/504:服务端错误,可在重试后正常处理
4. 计费说明
批量推理价格比在线 API 调用降低 50%。具体单价以 模型广场 为准。
5. 最佳实践
- 建议将大批量任务拆分为多个小批量,降低单任务失败的整体影响。
- 输入文件中的
custom_id建议使用有意义的前缀,便于结果对账。 - 对结果文件及时下载并转存,因其 URL 有效期仅 1 个月。
