解决:Python通过OpenAI调用大模型API超时问题

业务中有时需要Python通过OpenAI调用大模型API进行问答,通过pip命令安装OpenAI:

pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple

以 Qwen2.5-VL-72B-Instruct为例,代码如下:

from openai import OpenAI

# 初始化OpenAI客户端
client = OpenAI(
    api_key='', # 输入你的api_key
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

prompt = "" # 输入你的问题

try:
    completion = client.chat.completions.create(
        model="qwen2.5-vl-72b-instruct",
        messages=[{"role": "user", "content": prompt}]
    )
    print("收到响应:")
    print(completion.choices[0].message.content)
except Exception as e:
    print(f"发生错误: {str(e)}\n")

在实践中,遇到过这样的情况:提问后很久都没有答案返回,大概10分钟左右报超时。

变更了api_key,发现依然会有超时的问题,所以排除了账号token额度用光的情况。查阅了一些资料,做了很多的尝试,最终确定了问题所在:

由于我所提的问题较为复杂,因此大模型给出的答案较长,传输的字节数超出了网络接口的 MTU(Maximum Transmission Unit,最大传输单元)。

Linux系统可通过ipconfig来查看各个网卡的MTU值,可用以下命令修改MTU值:

sudo ip link set dev [网卡] mtu [新mtu值]

我将网卡的MTU值修改为了1500,API就可正常返回结果。PS:计算机有多个网卡的情况下要注意,每个网卡都要得改MTU值。

希望也能解决你的问题。

你可能感兴趣的:(python,linux,开发语言)