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

Langchain调用OpenAI时API密钥及调用报错问题求助

问题解决指南

1. 环境变量不被识别的问题

你代码中读取的环境变量是OPEN_AI_KEY,但LangChain的OpenAI类默认读取的环境变量名是OPENAI_API_KEY,这就是为什么你能打印出密钥,但初始化LLM时仍报错的原因。

解决方法:

  • 修改.env文件中的变量名为OPENAI_API_KEY,密钥值保持不变;
  • 或者初始化OpenAI类时显式指定参数,传入已有的环境变量值:
llm = OpenAI(
    openai_api_key=os.environ.get("OPEN_AI_KEY"),
    model_name="text-davinci-003",
    temperature=0.7,
    max_tokens=512
)

2. 调用LLM时的参数错误

直接用llm("Tell me a joke")调用模型出现类型错误,是因为部分LangChain版本中,LLM实例不能通过括号直接调用,需使用predict方法。

解决方法:
替换调用方式为:

llm.predict("Tell me a joke")

3. 更新后的认证错误

你传入的org-Wz3J****************2XK6是OpenAI的组织ID,不是API密钥。API密钥是以sk-开头的字符串,混淆两者导致了认证失败——你调用chat/completions接口时应该同时传入了正确的API密钥和组织ID,所以能正常工作。

解决方法:

  • 获取以sk-开头的正确API密钥;
  • 将其替换到环境变量或openai_api_key参数中;
  • 若需指定组织ID,可额外添加organization参数:
llm = OpenAI(
    openai_api_key="你的sk-开头API密钥",
    organization="org-Wz3J****************2XK6",
    model_name="text-davinci-003",
    temperature=0.7,
    max_tokens=512
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:21:14