You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure OpenAI批量任务显示完成但仅少量请求完成求助

Azure OpenAI批量任务仅少量请求完成排查方案

问题背景

为输入文件每行配置唯一custom_id并提交Azure OpenAI批量任务,任务通过验证后快速完成,但仅少量请求执行完成(例:4096条中仅276条),无任务级错误提示。此前排查重复custom_id问题修复后仍未解决;已确认速率限制足够高,更换GPT-4o-mini模型部署后问题依旧,仅首次批量任务成功完成全部请求。

相关任务信息:

Batch(id='batch_02d3c78a-ba97-40e3-8646-e83099ba5dbb', completion_window='24h', created_at=1742003026, endpoint='/chat/completions', input_file_id='file-083b8e3f2f024dc9a34a06d6014679c9', object='batch', status='completed', cancelled_at=None, cancelling_at=None, completed_at=1742003648, error_file_id='file-c93301a5-0199-479e-8660-71426f22ce2d', errors=None, expired_at=None, expires_at=1742089426, failed_at=None, finalizing_at=1742003528, in_progress_at=1742003279, metadata=None, output_file_id='file-34f7b43e-956c-4bc7-9d0a-6699db9333c6', request_counts=BatchRequestCounts(completed=276, failed=0, total=4096))

批量请求示例:

{
   "custom_id": "0_18_v2_fever_958611a10d8432c7ca51a59fca384dbc", 
   "method": "POST", 
   "url": "/chat/completions", 
   "body": {
     "model": "gpt-4o-mini-batch", 
     "messages": [
                    {"role": "user", "content": "<my prompt here>"}
                 ], 
     "max_completion_tokens": 4096, 
     "temperature": 0.1
    }
}

提交任务的Python伪代码:

from openai import AzureOpenAI
import os

client = AzureOpenAI(
    azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT") if endpoint is None else endpoint,
    api_key=os.getenv("AZURE_OPENAI_API_KEY") if api_key is None else api_key,
    api_version=os.getenv("AZURE_OPENAI_API_VERSION") if api_version is None else api_version,
)

file = client.files.create(
    file=open(final_filepath, "rb"), 
    purpose="batch"
)
file_id = file.id

batch_response = client.batches.create(
     input_file_id=file_id,
     endpoint="/chat/completions",
     completion_window="24h"
)

排查步骤

1. 分析错误文件详情

虽然任务级errors字段为None,但错误文件(file-c93301a5-0199-479e-8660-71426f22ce2d)可能包含单条请求的隐性错误:

  • 使用SDK调用client.files.content(error_file_id)下载错误文件
  • 检查文件中是否存在JSON解析失败、模型名称不匹配、内容过滤拦截等请求级错误

2. 验证输入文件格式合法性

首次任务成功说明格式标准,但后续文件可能存在隐性问题:

  • 确认输入文件为每行一个JSON对象的NDJSON格式,禁止多行JSON或语法错误
  • 使用jq等工具遍历所有行,批量校验JSON语法
  • 检查文件编码是否为UTF-8,是否存在不可见控制字符(如异常换行符)

3. 核对模型与endpoint配置一致性

  • 确认请求body中的model值(gpt-4o-mini-batch)与Azure门户部署的模型名称完全匹配(大小写、后缀均需一致)
  • 验证批量任务创建时的endpoint(/chat/completions)与模型类型兼容(Chat模型对应此endpoint,Completion模型需用/completions)

4. 检查Azure资源监控日志

  • 登录Azure门户,进入对应OpenAI资源的监控页面,筛选批量任务时间段的请求日志
  • 排查是否有请求被静默丢弃(如内容过滤触发、令牌配额超限)
  • 确认资源的输入/输出令牌总配额是否足够覆盖4096条请求

5. 小批量测试定位问题

  • 抽取输入文件中未执行的部分(如从第277条开始取100条)创建小批量任务测试
  • 若小批量成功,逐步扩大规模排查大文件解析问题;若失败,逐行测试定位具体异常请求

6. 升级AzureOpenAI SDK版本

  • 执行pip list | grep openai查看当前SDK版本
  • 升级至最新稳定版:pip install --upgrade openai,旧版本可能存在批量任务处理的已知bug

内容的提问来源于stack exchange,提问作者Nandan Thakur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:57:01