如何在Python中为OpenAI语音转文本API调用设置超时?
在OpenAI Python模块中设置语音转文本API调用超时
完全可以通过OpenAI官方Python模块实现超时设置,不需要自行封装requests。以下是具体实现方式:
两种超时设置方式
1. 全局超时设置
初始化OpenAI客户端时指定timeout参数,该设置会对所有API调用生效:
from openai import OpenAI # 全局设置30秒超时,所有后续API调用都会遵循这个超时时间 client = OpenAI(timeout=30)
2. 单次调用单独设置超时
在Audio.transcribe方法中直接传入timeout参数,优先级高于全局设置,适合针对特定调用调整超时时间:
# 针对当前语音转文本调用单独设置20秒超时 response = client.Audio.transcribe( model='whisper-1', file=audio_bytes, # 替换为你的音频bytes对象 prompt=language_prompt, response_format='verbose_json', timeout=20 )
超时异常处理
当调用超时或连接失败时,模块会抛出openai.APIConnectionError异常,你可以捕获该异常进行后续处理:
from openai import OpenAI, APIConnectionError client = OpenAI() try: response = client.Audio.transcribe( model='whisper-1', file=audio_bytes, prompt=language_prompt, response_format='verbose_json', timeout=20 ) # 处理正常响应 print(response) except APIConnectionError as e: print(f"调用超时或连接异常: {e}") # 可添加重试逻辑或用户提示
内容的提问来源于stack exchange,提问作者Foobar
相关产品推荐
相关产品推荐

