使用LangChain.llms调用ChatGPT时遇双重错误求助
问题分析与解决方案
错误根源
你遇到的两类错误核心是LangChain与OpenAI SDK版本不兼容,叠加旧模型退役的适配问题:
ValueError:默认调用的旧版Completion模型已被OpenAI停用,或版本不匹配导致参数处理逻辑异常;AttributeError: module 'openai' has no attribute 'error':OpenAI SDK升级到v1.x后,错误类从openai.error迁移至openai.exceptions,旧版LangChain仍在沿用旧错误路径。
具体解决步骤
方案一:升级到兼容版本(推荐)
先卸载现有依赖,安装适配的最新版本:
pip uninstall -y langchain openai pip install --upgrade langchain openai
然后修改代码,指定当前可用的Completion模型(如gpt-3.5-turbo-instruct):
import os os.environ["OPENAI_API_KEY"] = "your_api_key" from langchain.llms import OpenAI # 初始化时指定当前可用的模型 llm = OpenAI(model="gpt-3.5-turbo-instruct", temperature=0.7) print(llm) prompt = "Tell me a joke" print(llm(prompt))
方案二:降级OpenAI SDK适配旧LangChain
如果不想升级LangChain,可将OpenAI SDK降级到v0.x最后一个稳定版本:
pip uninstall -y openai pip install openai==0.28.1
此时你的原代码无需修改即可运行,但旧版SDK不再接收安全更新,长期使用不推荐。
内容的提问来源于stack exchange,提问作者Germule
相关产品推荐
相关产品推荐

