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

如何在Python中调用Azure OpenAI API实现GPT批量请求

Azure OpenAI API批量请求实现方案(非开发者友好版)

一、前置准备

  • 拥有Azure账号并创建OpenAI资源,获取API密钥和资源端点
  • 确认已部署目标GPT模型(如gpt-35-turbo、gpt-4),记录模型部署名称
  • 可选:安装Python(脚本方式)或Postman(可视化工具)

二、批量请求文件制作

Azure OpenAI批量API要求输入文件为JSONL格式(每行一个JSON对象),每个对象对应一个独立请求。示例如下:

{"custom_id": "req_001", "method": "POST", "url": "/openai/deployments/你的模型部署名/chat/completions?api-version=2024-02-15-preview", "body": {"messages": [{"role": "user", "content": "请写一段关于环保的短文"}]}}
{"custom_id": "req_002", "method": "POST", "url": "/openai/deployments/你的模型部署名/chat/completions?api-version=2024-02-15-preview", "body": {"messages": [{"role": "user", "content": "解释碳中和的核心含义"}]}}
  • custom_id:自定义请求ID,用于后续匹配结果与请求
  • url:替换为你的模型部署名和对应API版本号(可在Azure门户查看)
  • body:格式与单次调用Chat Completions API的请求体一致

三、提交批量任务

方式1:Python简化脚本

复制以下代码,替换占位符为自身信息,保存为.py文件后运行:

import requests

# 替换为你的Azure OpenAI信息
AZURE_ENDPOINT = "https://你的资源名.openai.azure.com/"
API_KEY = "你的API密钥"
INPUT_FILE = "批量请求文件.jsonl"

# 上传输入文件
upload_url = f"{AZURE_ENDPOINT}openai/files?api-version=2024-02-15-preview"
headers = {"api-key": API_KEY}
with open(INPUT_FILE, "rb") as f:
    upload_res = requests.post(upload_url, headers=headers, files={"file": f, "purpose": "batch"})
file_id = upload_res.json()["id"]

# 创建批量任务
batch_url = f"{AZURE_ENDPOINT}openai/batches?api-version=2024-02-15-preview"
batch_data = {
    "input_file_id": file_id,
    "endpoint": "/openai/deployments/你的模型部署名/chat/completions?api-version=2024-02-15-preview",
    "completion_window": "24h",
    "metadata": {"description": "我的批量请求任务"}
}
batch_res = requests.post(batch_url, headers=headers, json=batch_data)
batch_id = batch_res.json()["id"]

print(f"批量任务已创建,任务ID:{batch_id}")

方式2:Postman可视化操作

  1. 新建POST请求,地址:https://你的资源名.openai.azure.com/openai/files?api-version=2024-02-15-preview
  2. 请求头添加api-key: 你的API密钥
  3. 选择form-data,添加字段:file(选择本地JSONL文件)、purpose(值为batch)
  4. 发送请求,获取返回的file_id
  5. 再新建POST请求,地址:https://你的资源名.openai.azure.com/openai/batches?api-version=2024-02-15-preview
  6. 请求头添加api-key,请求体选raw-JSON,填入:
{
    "input_file_id": "刚才获取的file_id",
    "endpoint": "/openai/deployments/你的模型部署名/chat/completions?api-version=2024-02-15-preview",
    "completion_window": "24h",
    "metadata": {"description": "我的批量任务"}
}
  1. 发送请求,任务创建成功后记录batch_id

四、查询任务结果

Python脚本查询

import requests

AZURE_ENDPOINT = "https://你的资源名.openai.azure.com/"
API_KEY = "你的API密钥"
BATCH_ID = "你的批量任务ID"

query_url = f"{AZURE_ENDPOINT}openai/batches/{BATCH_ID}?api-version=2024-02-15-preview"
headers = {"api-key": API_KEY}
res = requests.get(query_url, headers=headers)
print(res.json())

当任务状态为completed时,可通过返回的output_file_id下载结果文件(JSONL格式),文件包含每个请求的响应内容。

五、注意事项

  • completion_window可设置为1h至72h,根据请求量选择合适时长
  • 单个JSONL文件最多包含10000个请求,单请求token数不超过模型最大限制
  • API密钥需妥善保管,避免泄露
  • 若遇错误,可查看Azure门户批量任务日志或检查请求体格式

内容的提问来源于stack exchange,提问作者Georgios Kourogiorgas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:45:10