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

未调用openai.ChatCompletion却遇APIRemovedInV1错误求助

问题原因

你遇到的报错是因为LangChain旧版本与OpenAI SDK 1.0+不兼容——虽然你没直接调用openai.ChatCompletion,但LangChain底层的OpenAI集成代码仍在使用OpenAI已废弃的V0接口,而新版SDK(1.0+)已经移除了这些接口,所以触发了错误。

解决方案

有两种可行的修复方式,按需选择:

方案1:升级LangChain并适配新版代码

新版LangChain已经拆分了OpenAI相关模块到独立包,同时适配了OpenAI SDK 1.0+,操作步骤如下:

  1. 升级依赖包:
pip install --upgrade langchain langchain-openai
  1. 修改代码适配新版API:
    如果用的是普通文本模型(如gpt-3.5-turbo-instruct、text-davinci-003):
from langchain_openai import OpenAI
from langchain.prompts import PromptTemplate

# 初始化LLM实例
llm = OpenAI(model_name=model, openai_api_key=api_key)

# 定义提示模板
prompt = PromptTemplate(
    input_variables=["question", "text"],
    template=template,
)

# 调用模型生成结果(新版用invoke方法)
result = llm.invoke(prompt.format(question=var1, text=var2))
print(result)

如果用的是聊天模型(如gpt-3.5-turbo、gpt-4):

from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
from langchain.schema import HumanMessage

llm = ChatOpenAI(model_name=model, openai_api_key=api_key)

prompt = PromptTemplate(
    input_variables=["question", "text"],
    template=template,
)

# 聊天模型需要传入消息对象列表
result = llm.invoke([HumanMessage(content=prompt.format(question=var1, text=var2))])
print(result.content)

方案2:降级OpenAI SDK到兼容版本

如果暂时不想修改代码,可以把OpenAI SDK固定到旧版本,让它和原有LangChain版本兼容:

pip install openai==0.28.1

执行后原有代码即可正常运行。

内容的提问来源于stack exchange,提问作者soup

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 09:33:17