The api_key client option must be set either by passing api_key to the client or...
🚨 错误信息
openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
🤖 AI解决方案
错误翻译
原文:The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
译文:api_key客户端选项必须通过在客户端传递密钥或设置OPENAI_API_KEY环境变量来设置
原因分析
缺少OpenAI API密钥配置。客户端需要有效的API密钥才能调用OpenAI服务,但目前既没有在代码中直接传递密钥,也没有设置相应的环境变量。
解决方案
方案1:通过代码直接设置
import openai
# 直接在客户端设置api_key
client = openai.OpenAI(api_key="your-api-key-here")
方案2:通过环境变量设置
# 在终端中设置环境变量
export OPENAI_API_KEY="your-api-key-here"
import openai
import os
# 客户端会自动读取环境变量
client = openai.OpenAI() # 自动使用OPENAI_API_KEY环境变量
预防措施
- 项目初始化检查:在项目启动时验证必要的环境变量是否已设置
- 使用配置文件:将敏感信息存储在配置文件中,避免硬编码在代码里
# 推荐的安全实践
import os
from dotenv import load_dotenv
load_dotenv() # 加载.env文件中的环境变量
api_key = os.getenv('OPENAI_API_KEY')
if not api_key:
raise ValueError("请设置OPENAI_API_KEY环境变量")
client = openai.OpenAI(api_key=api_key)