OpenAI SDK v1.0报错AttributeError:'OpenAI'对象无'Completion'属性,求修复
解决OpenAI SDK v1.0+的AttributeError问题
错误原因
OpenAI SDK v1.0版本彻底重构了API调用结构,旧版中openai.Completion类已被移除,取而代之的是通过客户端实例的completions属性调用补全接口,这就是触发'OpenAI' object has no attribute 'Completion'错误的核心原因。
修改后的完整代码
from openai import OpenAI # 初始化OpenAI客户端(可替换为你的API密钥,或通过环境变量配置) client = OpenAI(api_key="your-api-key-here") def generate_text_for_section(section_name, user_input): response = client.completions.create( model="text-davinci-003", prompt=f"Write a detailed description for a business plan section titled '{section_name}'. Project idea: {user_input}.", max_tokens=500 ) return response.choices[0].text.strip()
关键修改点
- 新增
OpenAI客户端实例初始化:新版SDK要求通过实例调用API,不再支持模块级别的直接调用 - 将
openai.Completion.create改为client.completions.create:注意是小写的复数形式completions - 返回值提取逻辑保持不变:
response.choices[0].text.strip()在新版中依然有效
内容的提问来源于stack exchange,提问作者Mr Matthew Kevin Hutchins
相关产品推荐
相关产品推荐

