You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用LangChain与ChatOpenAI时的API密钥配置错误求助

问题解决步骤

1. 修正.env文件格式

你的.env文件必须用键值对格式存储API密钥,示例如下:

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxx

2. 修正代码中的环境变量读取逻辑

你当前代码里os.environ['sk-xxx']是错误用法——这里需要传入环境变量的键名(即OPENAI_API_KEY),而非密钥字符串本身。修正后的代码:

import os
import openai
from dotenv import load_dotenv, find_dotenv

# 加载本地.env文件
_ = load_dotenv(find_dotenv())
# 读取环境变量中的API密钥
openai.api_key = os.environ.get("OPENAI_API_KEY")
# 也可用os.getenv,它会在键不存在时返回None,避免直接抛出KeyError
# openai.api_key = os.getenv("OPENAI_API_KEY")

3. 验证环境变量加载状态

可以先打印环境变量确认是否加载成功:

print(os.getenv("OPENAI_API_KEY"))

如果输出为你的密钥字符串,说明加载正常;如果输出None,检查:

  • .env文件是否和代码文件在同一目录下
  • .env文件内的键名是否和代码中完全一致(注意大小写敏感)
  • 键值对是否存在拼写错误(比如少写下划线、空格)

4. LangChain ChatOpenAI的正确使用方式

有两种方式可以让ChatOpenAI识别密钥:

方法一:依赖全局设置的openai.api_key

只要你正确设置了openai.api_key,直接初始化即可:

from langchain.chat_models import ChatOpenAI

chat_model = ChatOpenAI()

方法二:直接传入api_key参数

如果不想依赖环境变量,也可以直接将密钥传入ChatOpenAI:

chat_model = ChatOpenAI(api_key="sk-xxxxxxxxxxxxxxxxx")

内容的提问来源于stack exchange,提问作者Warren K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 08:10:06