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

OpenAI Moderation报错求助:版本兼容及Windows环境解决方案

解决OpenAI API版本兼容问题

问题根源

报错提示openai.Moderation在openai>=1.0.0版本中已废弃,你的代码采用了旧版API调用逻辑,而安装0.28版本未生效大概率是虚拟环境未正确激活或安装流程有误。

方案一:升级代码适配openai 1.x版本

修改代码中OpenAI相关调用逻辑,适配1.x版本的新接口规范:

  1. 调整导入与客户端初始化
    替换原有OpenAI导入及API密钥配置代码:
from openai import OpenAI
# 其他导入语句保持不变

load_dotenv()
# 初始化OpenAI客户端
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
  1. 更新聊天补全接口调用
    修改get_response函数中的ChatCompletion调用方式,并调整返回结果的访问路径:
def get_response(instructions, previous_questions_and_answers, new_question):
    # 消息构建逻辑保持不变
    completion = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=messages,
        temperature=TEMPERATURE,
        max_tokens=MAX_TOKENS,
        top_p=1,
        frequency_penalty=FREQUENCY_PENALTY,
        presence_penalty=PRESENCE_PENALTY,
    )
    return completion.choices[0].message.content
  1. 更新内容审核接口调用
    修改get_moderation函数中的Moderation调用方式,适配1.x版本的返回结构(返回对象而非字典):
def get_moderation(question):
    # errors字典保持不变
    response = client.moderations.create(input=question)
    if response.results[0].flagged:
        result = []
        categories = response.results[0].categories
        # 逐一检查分类标记状态
        if categories.hate:
            result.append(errors["hate"])
        if categories.hate_threatening:
            result.append(errors["hate/threatening"])
        if categories.self_harm:
            result.append(errors["self-harm"])
        if categories.sexual:
            result.append(errors["sexual"])
        if categories.sexual_minors:
            result.append(errors["sexual/minors"])
        if categories.violence:
            result.append(errors["violence"])
        if categories.violence_graphic:
            result.append(errors["violence/graphic"])
        return result
    return None

方案二:确保正确安装openai 0.28版本

若想继续使用旧版代码,需严格按以下步骤操作:

  1. 激活虚拟环境
    Windows系统下,进入虚拟环境的Scripts目录,执行:
activate

Linux/macOS系统执行:

source venv/bin/activate
  1. 卸载现有openai版本
pip uninstall -y openai
  1. 安装指定版本
pip install openai==0.28
  1. 验证安装结果
    执行以下命令确认版本:
pip show openai

确保输出的Version字段为0.28.x

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 21:06:25