如何解决Google Cloud Function中OpenAI SDK的'openai.Completion not supported'错误
解决OpenAI SDK v1.0.0+兼容问题
方案1:升级代码适配OpenAI SDK v1.0.0+(推荐)
OpenAI Python SDK v1.0.0+重构了API调用方式,旧的openai.ChatCompletion.create写法已被废弃,需改用新的客户端模式。修改代码如下:
import os from openai import OpenAI import requests # 初始化OpenAI客户端,自动读取环境变量中的OPENAI_API_KEY client = OpenAI() def generate_email_content_with_browser(website_url): try: prompt = ( # 在这里添加你的提示词内容 ) response = client.chat.completions.create( model="gpt-4", messages=[ {"role": "system", "content": prompt}, {"role": "user", "content": f"Visit the website at {website_url}."} ], temperature=0.7 ) email_content = response.choices[0].message.content print(f"Generated email content for {website_url}: {email_content}") return email_content except Exception as e: print(f"Error generating email from {website_url}: {e}") return ""
关键修改说明:
- 替换导入方式:从
import openai改为from openai import OpenAI - 初始化客户端实例:通过
client = OpenAI()替代手动设置openai.api_key - 更新API调用路径:用
client.chat.completions.create替代旧的openai.ChatCompletion.create
方案2:降级OpenAI SDK到v0.x版本
若暂时不想修改代码,可在Google Cloud Function的requirements.txt中指定旧版本依赖:
openai<1.0.0
部署时会自动安装v0.x版本SDK,旧API写法即可正常运行。但旧版本后续会停止维护,不建议长期使用。
内容的提问来源于stack exchange,提问作者Max Konzelmann
相关产品推荐
相关产品推荐

