运行LangChain调用OpenAI代码时遇InvalidRequestError问题求助
问题解决:InvalidRequestError: Unrecognized request argument supplied: request_timeout
核心原因
你遇到的错误是LangChain与OpenAI SDK版本不兼容导致的:LangChain在调用OpenAI API时传递了request_timeout参数,但当前安装的OpenAI SDK版本已不再支持该参数(或参数名称/用法变更),触发了API的无效请求报错。单纯重装不指定版本的话,包管理工具可能仍会安装不兼容的版本组合,无法解决问题。
解决方案
方案1:安装兼容的版本组合(无需修改代码)
先卸载现有包:
pip uninstall -y langchain openai
然后安装经过验证的兼容版本:
# 适配旧版OpenAI SDK的组合(推荐,无需修改现有代码) pip install langchain==0.1.10 openai==0.28.1
或者选择适配新版OpenAI SDK的组合(需注意LangChain写法可能有调整):
pip install langchain==0.1.10 openai==1.13.3
方案2:显式禁用request_timeout参数(临时 workaround)
在初始化OpenAI实例时,显式设置request_timeout=None,覆盖LangChain默认传递的参数:
from langchain.llms import OpenAI import os os.environ["OPENAI_API_KEY"]="xxxxxxxxxx" # 添加request_timeout=None参数 llm = OpenAI(model_name="text-ada-001", n=2, best_of=2, request_timeout=None) llm("Tell me a joke")
验证
运行修改后的代码或安装指定版本后,重新执行请求,即可解决该错误。
内容的提问来源于stack exchange,提问作者rajat ghosh
相关产品推荐
相关产品推荐

