The api_key client option must be set either by passing api_key to the client or...

2025年11月14日 22:52 状态: processing

🚨 错误信息

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)