在Google Colab中调用GPT-4遇OpenAI V1库报错的解决请求
适配OpenAI Python库v1.0+的GPT-4调用代码(Google Colab可用)
问题原因
你遇到的错误是因为OpenAI Python库1.0.0版本彻底重构了API,openai.Completion.create仅适用于旧版文本补全模型(如Davinci),GPT-4属于聊天模型,需要使用新的Chat Completions接口。
修复后的完整代码
# 安装/升级到最新版OpenAI库 !pip install --upgrade openai import openai from google.colab import userdata # 推荐用Colab的用户密钥存储API Key,避免硬编码 # 从Colab Secrets中读取API Key(需先在Colab左侧"密钥"面板添加OPENAI_API_KEY) client = openai.OpenAI(api_key=userdata.get('OPENAI_API_KEY')) # 调用GPT-4的聊天接口 response = client.chat.completions.create( model="gpt-4", messages=[ {"role": "user", "content": "hi"} # 预设提示词放在content里 ], temperature=0.7, max_tokens=150 ) # 提取并打印返回内容 print(response.choices[0].message.content.strip())
关键改动说明
- 初始化方式:从直接调用模块方法改为创建
OpenAI客户端实例 - 接口变更:用
client.chat.completions.create替代openai.Completion.create - 请求格式:需要用
messages数组传递对话消息,每个消息包含role(system/user/assistant)和content字段 - 结果解析:从
response.choices[0].text改为response.choices[0].message.content
安全提示
不要直接在代码中硬编码API Key,推荐使用Colab的用户密钥功能:
- 点击Colab左侧面板的"密钥"图标
- 添加名为
OPENAI_API_KEY的密钥,值为你的OpenAI API密钥 - 用
userdata.get('OPENAI_API_KEY')读取,避免密钥泄露
内容的提问来源于stack exchange,提问作者Gilbe
相关产品推荐
相关产品推荐

