我一直在使用openai python packge v0.28.1和requests_timeout
param工作正常.
然后我更新到^1.版本中,才发现超时不再按预期工作(他们已经将param名称从requests_timeout
更改为timeout
).
以下是当前最新版本(1.14.1)的一个奇怪行为:
from openai import OpenAI, APITimeoutError
import os
client = OpenAI(
api_key=os.environ['OPENAI_API_KEY'],
)
for timeout in [0.001, 0.1, 1, 2]:
with log_duration('openai query') as duration_context:
try:
response = client.chat.completions.create( # type: ignore[call-overload]
model="gpt-4-0125-preview",
messages=[{'content': 'describe the universe in 10000 characters', 'role': 'system'}],
temperature=0.0,
max_tokens=450,
top_p=1,
timeout=timeout
)
except APITimeoutError as e:
continue
log_duration只是测量它所花费的时间.结果是:
2024-03-20 14:59:19 [info ] openai query duration=2.805093 duration=2.8050930500030518 name=openai query
2024-03-20 14:59:22 [info ] openai query duration=2.844164 duration=2.8441641330718994 name=openai query
2024-03-20 14:59:29 [info ] openai query duration=6.396946 duration=6.396945953369141 name=openai query
2024-03-20 14:59:38 [info ] openai query duration=9.387082 duration=9.387081861495972 name=openai query
这比暂停多了很多我们已经得到了一堆的暂停在我们的游戏,但不知道为什么,因为暂停在openai应该是如此低.
我错过了什么?OpenAI的1 python SDK有这么大的开销吗?>