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

使用LangChain的OpenAI LLM wrapper触发AttributeError的原因排查

问题:LangChain调用OpenAI时触发AttributeError: module 'openai.error' has no attribute 'Timeout'

我正在用PyQt5开发Python桌面应用,此前自研代码可正常与OpenAI completions端点交互。为实现对话长期记忆功能,尝试引入LangChain,但即使是最简示例也无法运行——无论在类内/外、异步循环、控制台还是主窗口文本浏览器等上下文调用,都会触发相同的AttributeError。

最简示例代码

import os
from langchain.llms import OpenAI
from local import constants #For API key
os.environ["OPENAI_API_KEY"] = constants.OPENAI_API_KEY
davinci = OpenAI(model_name= 'text-davinci-003', verbose=True, temperature=0.6)
text = "Write me a story about a guy who is frustrated with Python."
print("Prompt: " + text)
print(davinci(text))

代码能成功实例化wrapper并打印prompt,但调用wrapper函数获取生成文本时,触发如下错误回溯:

错误回溯

Traceback (most recent call last):
  File "D:\Dropbox\Pycharm Projects\workspace\main.py", line 16, in <module>
    print(davinci(text))
  File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\base.py", line 255, in __call__
    return self.generate([prompt], stop=stop).generations[0][0].text
  File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\base.py", line 128, in generate
    raise e
  File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\base.py", line 125, in generate
    output = self._generate(prompts, stop=stop)
  File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\openai.py", line 259, in _generate
    response = self.completion_with_retry(prompt=_prompts, **params)
  File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\openai.py", line 200, in completion_with_retry
    retry_decorator = self._create_retry_decorator()
  File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\openai.py", line 189, in _create_retry_decorator
    retry_if_exception_type(openai.error.Timeout)
AttributeError: module 'openai.error' has no attribute 'Timeout'

我认为LangChain库本身无问题,猜测是依赖版本不兼容或环境差异(他人多在Notebook环境使用)导致。已尝试替换自研调用函数、在不同作用域实例化wrapper、异步调用等方法,均无法解决该错误,寻求相关建议。

内容的提问来源于stack exchange,提问作者M. Branson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:22:19