Batch API 专为处理大规模数据请求而设计,适用于无需即时反馈的任务。通过 Batch API,开发者可以通过文件提交大量任务,且价格降低 50%(GLM-4-Flash 免费)、无并发限制。
典型应用场景
文章分类
为大量文章、帖子或产品描述添加分类标签。
情感分析
评估客户反馈、社交媒体帖子和商品评价的情感倾向。
信息提取
从文本数据中识别和抽取关键内容。
批量使用教程
我们将通过一个情感分析的实际案例来演示如何使用 Batch API。在这个示例中,我们将使用 GLM-4 对商品评价进行情感分类(正面、中性、负面),并添加特定问题标签(如产品缺陷、配送延迟、客服态度等)。步骤 1:创建 Batch 文件
Batch 文件的格式应为.jsonl
,其中每个请求占据一行(JSON 对象)。每一行包含 API 单个请求的详细信息。
GLM-4-PLUS 文本处理示例
GLM-4V-PLUS 图像处理示例
CogView-3 图像生成示例
Embedding 向量化示例
JSONL文件示例
构建的 .jsonl 文件如下,本示例中包含 10 个请求,单个文件最多支持 50000 个请求且大小不超过 100M:步骤 2:上传 Batch 文件
首先需要将准备好的.jsonl
文件上传到平台:
- python
步骤 3:创建 Batch 任务
使用上传文件的 ID 创建批处理任务:- python
步骤 4:监控任务状态
定期检查批处理任务的执行状态:- python
状态 | 描述 |
---|---|
validating | 文件正在验证中,Batch 任务未开始 |
failed | 文件未通过验证 |
in_progress | 文件已成功验证,Batch 任务正在进行中 |
finalizing | Batch 任务已完成,结果正在准备中 |
completed | Batch 任务已完成,结果已准备好 |
expired | Batch 任务未能完成 |
cancelling | Batch 任务正在取消中 |
cancelled | Batch 任务已取消 |
步骤 5:下载结果
Batch 任务完成后,您可以使用 Batch 对象中的 output_file_id 字段下载结果,并将其保存到本地。- 系统会对 Batch 结果文件分开保存,请分别进行下载:
- output_file_id:保存成功执行请求的输出文件的ID。
- error_file_id:保存出现错误请求的输出文件的ID。
- 系统只保留您的数据30天。请及时下载和备份您的数据,过期后文件将自动删除,无法恢复。
- python
删除文件
上传 Batch 文件时,每次最多上传 1000 个。若任务量巨大,请及时删除已处理完毕的文件,以便继续上传新文件。文件限制
- 单个文件最多支持 50,000 个请求
- 文件大小不超过 100MB
- 每个 batch 文件只能包含对单个模型的请求
- 每个请求必须包含
custom_id
且是唯一的,用来将结果和输入进行匹配
接口信息
接口文档:API 调用方式- 创建 Batch 任务
- 检索 Batch 任务
- 取消 Batch 任务
- 列出 Batch 任务
- 下载 Batch 结果
接口详情
- 传输方式:
https
- 请求地址:
https://open.bigmodel.cn/api/paas/v4/batches
- 调用方式: 同步调用
- 请求格式:
JSON
- 响应格式:
JSON
- 接口请求类型:
POST
请求参数
参数名称 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
input_file_id | string | 是 | 上传文件的 ID,该文件包含Batch的请求。 输入文件必须是 .Jsonl 格式,并且文件上传时的目的必须标记为”batch”。 |
endpoint | string | 是 | Batch 中所有请求将使用的端点。 目前支持 /v4/chat/completions 。 |
completion_window | string | 废弃 | 原有的时间参数已不再适用,新的任务调度策略将根据系统负载情况自动调整。 预计任务将在24小时内完成,如果任务超过7天未处理完,将自动取消。 |
auto_delete_input_file | bool | 否 | 是否自动删除batch原始文件,默认为True. True:执行自动删除。False:保留原始batch文件。 |
metadata | object or null | 否 | 用于存储与 Batch 相关的数据,如客户ID、描述或其他任务管理和跟踪所需的额外信息。 可附加到对象上的键值对集合最多为 16 个。每个键的长度最多为 64 个字符,每个值的长度最多为 512 个字符。 |
请求示例
- python
- python(旧)
安装 SDK验证安装
响应内容
返回Batch
对象。Batch 对象结构
点击展开/折叠 Batch 对象详细信息
点击展开/折叠 Batch 对象详细信息
字段名 | 类型 | 描述 |
---|---|---|
id | string | 批处理的唯一标识符。 |
object | string | 对象类型,这里为 “batch”。 |
endpoint | string | 批处理使用的 API 端点。 |
input_file_id | string | 批处理使用的输入文件的ID。 |
completion_window | string | 批处理应在此时间框架内完成的期限。 |
status | string | 批处理的当前状态。 |
output_file_id | string | 包含成功执行请求的输出的文件ID。 |
error_file_id | string | 包含出现错误的请求的输出的文件ID。 |
created_at | integer | 创建批处理的Unix时间戳(秒)。 |
in_progress_at | integer | 批处理开始处理的Unix时间戳(秒)。 |
expires_at | integer | 批处理将过期的Unix时间戳(秒)。 |
finalizing_at | integer | 批处理开始最终处理的Unix时间戳(秒)。 |
completed_at | integer | 批处理完成的Unix时间戳(秒)。 |
failed_at | integer | 批处理失败的Unix时间戳(秒)。 |
expired_at | integer | 批处理过期的Unix时间戳(秒)。 |
cancelling_at | integer | 批处理开始取消的Unix时间戳(秒)。 |
cancelled_at | integer | 批处理取消完成的Unix时间戳(秒)。 |
request_counts | object | batch 请求计数。 |
total | integer | 批处理中的请求总数。 |
completed | integer | 批处理中已成功完成的请求数量。 |
failed | integer | 批处理中失败的请求数量。 |
metadata | map | 可附加到对象上的 16 个键值对的集合。这有助于以结构化格式存储对象的附加信息。键的长度最多为 64 个字符,值的长度最多为 512 个字符。 |
常见问题
Batch API的价格如何?
Batch API的价格如何?
价格是标准 API 的 50%。参考 产品定价
Batch API 支持哪些模型和并发限制?
Batch API 支持哪些模型和并发限制?
Batch API 的并发限制与现有的每个模型并发限制是分开的。Batch API 引入了两种新的限制:
- 单个 Batch 文件中包含最多 50,000 个请求且不超过 100M。
- 每个模型的 Batch 有最大排队限制。当达到请求队列上限时,请等待当前任务完成后再提交新任务。
- 向量模型(Embedding-2、Embedding-3)Batch 文件请求数量限制为不超过 10000 次。
模型名称 | Batch 队列限制 |
---|---|
GLM-4-Air-250414 | 200万次 |
GLM-4-FlashX-250414 | 200万次 |
Embedding-2 | 200万次 |
Embedding-3 | 200万次 |
GLM-4-Plus | 200万次 |
GLM-4-0520 | 50万次 |
GLM-4 | 50万次 |
Cogview-4-250304 | 1万次 |
CogVideoX-2 | 1万次 |
GLM-4V | 1万次 |
GLM-4-Long | 20万次 |
GLM-4V-Plus-0111 | 1万次 |
GLM-4V-Plus | 1万次 |
CogView-3-Plus | 1万次 |
如何在调用Batch API 前进行实名认证?
如何在调用Batch API 前进行实名认证?
调用 Batch API 必须实名认证,请先前往 实名认证 页面完成个人认证或企业认证,成功认证后,将免费获得 500 万 tokens。
如何下载 Batch 结果文件?
如何下载 Batch 结果文件?
当批处理任务完成后,系统会生成两个文件,请分别进行下载:
- 输出文件 (
output_file_id
): 包含成功执行的请求结果 - 错误文件 (
error_file_id
): 包含出现错误的请求信息
Batch 的过期如何处理?
Batch 的过期如何处理?
如果 Batch 未能及时完成,该批次将被标记为过期状态;批次中未完成的请求将被取消。对于批次中已完成的请求,用户可以通过文件获取,并且需要支付这些请求消耗的费用。
Batch 文件有哪些存储限制?
Batch 文件有哪些存储限制?
Batch 文件最多上传 1000 个文件。系统只保留您的文件 30 天,过期后文件将自动删除,无法恢复。
如何删除 Batch 文件?
如何删除 Batch 文件?
请前往 Batch 页面 进行删除、或通过调用接口删除。