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

OpenAI Python库版本兼容与gpt-3.5模型访问问题求助

解决方案

一、适配OpenAI 1.0.0+版本的代码修改

原代码存在API调用路径错误、模型ID不正确的问题,以下是修正后的完整代码:

from openai import OpenAI
from gtts import gTTS
from playsound import playsound

# 初始化OpenAI客户端(1.0.0+版本强制要求)
client = OpenAI(api_key="你的API密钥")  # 若已设置环境变量OPENAI_API_KEY可省略api_key参数

def speakgpt():
    aiactive = True
    while aiactive:
        # 补充获取用户输入的逻辑,避免原代码中query未定义的问题
        query = input("输入问题(输入deactivate退出):").strip()
        if query.lower() == 'deactivate':
            aiactive = False
        else:
            # 1.0.0+版本的正确聊天补全调用方式
            completion = client.chat.completions.create(
                model="gpt-3.5-turbo",  # 使用正确的模型ID
                messages=[{"role": "user", "content": query}]
            )
            text = completion.choices[0].message.content
            gptresult = gTTS(text=text, lang='en', slow=False, tld="com.scot")
            # 保存并播放音频(假设speak函数是播放逻辑,这里用playsound示例)
            temp_audio = "gpt_response.mp3"
            gptresult.save(temp_audio)
            playsound(temp_audio)

二、解决模型访问错误的关键

你遇到的The model gpt-3.5 does not exist错误,核心原因是模型ID使用错误:

  • OpenAI没有名为gpt-3.5的公开模型,正确的GPT-3.5系列模型ID为gpt-3.5-turbo(基础版)、gpt-3.5-turbo-16k(长上下文版)等,无论新旧API版本都必须使用正确ID。
  • 同时需确认你的API密钥拥有对应模型的访问权限,且账户余额充足(免费额度耗尽后需充值)。

三、修复openai migrate命令无法识别的问题

若想自动迁移代码,不要直接运行openai migrate,改用:

python -m openai migrate

该命令会强制使用当前Python环境中的OpenAI工具,避免系统PATH未配置的问题。

额外注意点

  • 1.0.0+版本的OpenAI API必须通过客户端实例调用,不能直接使用openai.chat.completions.create这类模块级方法(需先初始化client = OpenAI())。
  • 原代码中query[0] == 'deactivate'的写法存在索引错误风险(如输入空字符串时),建议改为判断整个字符串是否匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 08:38:13