当你需要使用大语言模型处理大规模、低实时性要求的任务时,Batch API 是理想选择。它支持通过文件批量提交任务,相比实时 API 调用可以节省 40% 的推理费用。Documentation Index
Fetch the complete documentation index at: https://platform.kimi.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Batch API 支持
kimi-k2.6 和 kimi-k2.5 模型。这些模型的 temperature、top_p 等参数不可修改,请勿在请求 body 中设置这些参数。创建批处理任务
上传 JSONL 文件并创建批处理任务
列出批处理任务
获取当前组织的批处理任务列表
获取任务详情
查询指定批处理任务的状态和详细信息
取消批处理任务
取消正在进行的批处理任务
使用流程
本指南通过一个文本分类的实例,展示 Batch API 的完整使用流程:1. 构造输入文件
JSONL 文件中每行是一个独立的 JSON 对象,代表一个推理请求:| 字段 | 是否必须 | 说明 |
|---|---|---|
custom_id | 必须 | 自定义请求标识,用于追踪结果,需在文件内唯一 |
method | 必须 | 请求方法,固定为 POST |
url | 必须 | 请求地址,固定为 /v1/chat/completions |
body | 必须 | 请求体,与 Chat Completions API 参数一致 |
输入文件要求:
- 文件必须为
.jsonl格式,大小不能为空且不超过 100MB - 每行必须是合法的 JSON 对象,且包含
custom_id、method、url、body四个字段 custom_id在文件内必须唯一- 所有行的
model必须相同,一个批次只允许一个模型 method固定为POST,url固定为/v1/chat/completions- 指定的模型必须存在且用户有访问权限
2. 上传文件
通过文件上传接口上传 JSONL 文件,purpose 必须设置为 "batch"。
3. 创建任务
调用创建批处理任务接口,传入input_file_id 和 completion_window。completion_window 建议根据数据量合理设置,较长的时间窗口可以提高任务完成率。
4. 等待完成
创建后任务进入validating 状态,系统将异步校验输入文件。校验通过后进入 in_progress 状态开始执行。你可以通过获取任务详情接口轮询状态。
5. 处理结果
任务完成后,output_file_id 字段包含结果文件 ID,通过获取文件内容接口下载。如果有请求失败,error_file_id 包含错误文件 ID。
完整代码示例
以下是将上述步骤串联起来的完整脚本,可直接复制运行:Batch 状态说明
| 状态 | 说明 |
|---|---|
validating | 已创建,正在校验输入数据 |
failed | 数据校验失败,任务终止 |
in_progress | 数据校验通过,正在执行 |
finalizing | 执行完毕,正在准备结果 |
completed | 结果准备完毕,任务完成 |
expired | 未在 completion_window 内完成 |
cancelling | 已发起取消,等待实际取消 |
cancelled | 取消完成,任务终止 |
任务管理
列出批处理任务
通过列出批处理任务接口查看当前组织下的所有批处理任务。取消批处理任务
通过取消批处理任务接口取消正在进行的任务。仅validating、in_progress、finalizing 状态的任务可以取消。取消后任务状态会先变为 cancelling,最终变为 cancelled。
多模态 Batch 任务
Batch API 支持在输入文件中包含图片和视频内容。与文本任务的区别主要在于 构造输入文件 这一步,其余流程(上传、创建任务、轮询、处理结果)完全一致。图片批处理示例
图片批处理示例
图片有两种传入方式:
- base64 内嵌:将图片编码为 base64 直接写入 JSONL,适合小图片。注意 base64 会使体积膨胀约 33%,请关注 100MB 文件大小限制。
- 文件引用:先通过文件接口上传图片(
purpose="image"),然后在 JSONL 中通过ms://<file_id>引用,适合大图片或图片复用场景。
视频批处理示例
视频批处理示例
视频有两种传入方式:
- base64 内嵌:将视频编码为 base64 直接写入 JSONL,适合小视频。注意 base64 会使体积膨胀约 33%,请关注 100MB 文件大小限制。
- 文件引用:先通过文件接口上传视频(
purpose="video"),然后在 JSONL 中通过ms://<file_id>引用,适合大视频或视频复用场景。
扩展建议
- 根据实际数据量调整
completion_window,较大的数据集建议设置3d或7d - 轮询间隔建议 10-60 秒,避免频繁请求
- 结果处理可以根据需求写入数据库或生成报告
- 建议对大文件做分批处理,每个文件控制在合理大小