如何通过AzureOpenAI调用OpenAI Batch API及后续操作端点?
Azure OpenAI 调用 Batch API 全流程端点说明
目前Azure OpenAI虽未单独提供Batch API的官方文档,但可通过兼容OpenAI Batch API的端点完成全流程操作,以下是核心操作对应的实现方式:
1. 创建批量任务(已明确)
通过指定endpoint为/v1/chat/completions或/v1/embeddings发起批量任务,代码示例如下:
batch_input_file_id = batch_input_file.id client.batches.create( input_file_id=batch_input_file_id, endpoint="/v1/chat/completions", completion_window="24h", metadata={ "description": "nightly eval job" } )
2. 查询批量任务状态
调用/v1/batches/{batch_id}端点(GET请求),获取指定任务的状态、进度等信息。对应Python客户端调用:
batch_status = client.batches.retrieve(batch_id="你的批量任务ID") print(batch_status.status) # 输出任务状态,如"in_progress"、"completed"、"failed"等
3. 获取批量任务结果
当任务状态为completed时,通过任务返回的output_file_id,调用/v1/files/{file_id}/content端点获取结果文件内容。Python客户端示例:
result_file_content = client.files.retrieve_content(file_id=batch_status.output_file_id) # 保存结果到本地文件 with open("batch_results.jsonl", "w") as f: f.write(result_file_content)
4. 取消批量任务
调用/v1/batches/{batch_id}/cancel端点(POST请求),终止正在运行的批量任务。Python客户端示例:
client.batches.cancel(batch_id="你的批量任务ID")
注意:以上端点与OpenAI官方Batch API保持一致,Azure OpenAI目前兼容这些操作,直接通过Azure OpenAI客户端调用对应方法即可,无需手动拼接URL。
内容的提问来源于stack exchange,提问作者dks
相关产品推荐
相关产品推荐

