Skip to content

批量推理

批量推理API允许您以异步方式处理大量推理请求,提高处理效率并降低成本。

概述

批量推理的优势:

  • 异步处理大量请求
  • 降低API调用成本
  • 提高处理效率
  • 支持50,000个请求的批量任务
  • 48小时内完成处理

基本用法

创建批量任务

bash
curl -X POST "https://realmrouter.cn/v1/batches" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "input_file_id": "file-abc123",
    "endpoint": "/v1/chat/completions",
    "completion_window": "24h"
  }'

上传输入文件

bash
curl -X POST "https://realmrouter.cn/v1/files" \
  -H "Authorization: Bearer $API_KEY" \
  -F purpose="batch" \
  -F file="@batch_requests.jsonl"

输入文件格式(JSONL):

json
{"custom_id": "request-1", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Hello"}]}}
{"custom_id": "request-2", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "World"}]}}

查询批量任务状态

bash
curl -X GET "https://realmrouter.cn/v1/batches/batch_abc123" \
  -H "Authorization: Bearer $API_KEY"

下载结果文件

bash
curl -X GET "https://realmrouter.cn/v1/files/file-output-123/content" \
  -H "Authorization: Bearer $API_KEY"

响应格式

批量任务响应

json
{
  "id": "batch_abc123",
  "object": "batch",
  "endpoint": "/v1/chat/completions",
  "errors": null,
  "input_file_id": "file-abc123",
  "completion_window": "24h",
  "status": "completed",
  "output_file_id": "file-output-123",
  "error_file_id": null,
  "created_at": 1754902266,
  "in_progress_at": 1754902270,
  "expires_at": 1754988666,
  "finalizing_at": 1754902300,
  "completed_at": 1754902320,
  "failed_at": null,
  "expired_at": null,
  "cancelling_at": null,
  "cancelled_at": null,
  "request_counts": {
    "total": 100,
    "completed": 95,
    "failed": 5
  },
  "metadata": null
}

输出文件格式

输出文件的每一行包含一个请求的响应:

json
{
  "custom_id": "request-2589",
  "error": null,
  "id": "batch_req_task_d2c",
  "response": {
    "body": {
      "id": "29e1432c-edfb-44a4-b531-c23c600abfae",
      "object": "chat.completion",
      "created": 1754902266,
      "model": "deepseek-test",
      "choices": [
        {
          "index": 0,
          "message": {
            "role": "assistant",
            "content": "Hello! 👋 How can I assist you today? 😊"
          },
          "finish_reason": "stop"
        }
      ],
      "usage": {
        "prompt_tokens": 5,
        "completion_tokens": 13,
        "total_tokens": 18
      }
    },
    "request_id": "request-2589",
    "status_code": 200
  }
}

使用说明

限制

  • 每个批量任务最多可包含 50,000 个请求
  • 每个批量任务的最大输入文件大小为 100MB

错误处理

批量处理过程中遇到的错误记录在单独的错误文件中,可通过 error_file_id 字段访问。常见的错误代码包括:

错误代码描述解决方案
400请求格式无效检查 JSONL 语法和必需字段
401身份验证失败验证 API 密钥
404未找到批量任务检查批量任务 ID
429超过速率限制降低请求频率
500服务器错误联系我们

批量任务过期

未在 48 小时内完成的批量任务将转换为 EXPIRED 状态。未完成的请求将被取消,而已完成的请求将通过输出文件提供。您只需为已完成请求消耗的令牌付费。批量任务会尽力在 48 小时内完成。

所有批量推理 API

  1. 创建批处理任务
  2. 查询批处理任务
  3. 取消批处理任务
  4. 查询批处理任务列表
  5. 上传文件
  6. 查询文件列表
  7. 查询文件
  8. 删除文件
  9. 查询文件内容

最佳实践

1. 文件准备

  • 确保JSONL格式正确
  • 验证每个请求的完整性
  • 使用合理的批量大小

2. 错误处理

  • 定期检查任务状态
  • 处理失败请求
  • 实现重试机制

3. 性能优化

  • 合理设置completion_window
  • 监控任务进度
  • 优化请求结构

4. 成本控制

  • 监控令牌使用量
  • 优化提示词长度
  • 选择合适的模型

基于 MIT 许可发布 厦门界云聚算网络科技有限公司