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

调用Azure API运行LangChain程序时遭遇KeyError问题求助

问题原因及解决方法

错误根源

你混淆了直接传参和读取环境变量的用法:os.environ["KEY_NAME"]是用来读取名为KEY_NAME的环境变量值,而你直接把端点、部署名、API版本这些实际值当作环境变量的键来调用,自然找不到对应的环境变量,抛出KeyError。

修正方案

有两种正确写法可选:

方案1:直接传入参数值

无需通过os.environ,直接把对应值填入参数:

import os
from langchain_openai import AzureChatOpenAI

# 设置API密钥到环境变量(这部分写法正确)
os.environ["AZURE_OPENAI_API_KEY"] = "你的实际API密钥"

model = AzureChatOpenAI(
    azure_endpoint="https://testing123.cognitiveservices.azure.com/",
    azure_deployment="testing123",
    openai_api_version="2021-04-30",
)

方案2:正确使用环境变量(生产环境推荐)

先把需要的参数设置为环境变量,再通过键名读取:

import os
from langchain_openai import AzureChatOpenAI

# 设置所有需要的环境变量
os.environ["AZURE_OPENAI_API_KEY"] = "你的实际API密钥"
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://testing123.cognitiveservices.azure.com/"
os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"] = "testing123"
os.environ["AZURE_OPENAI_API_VERSION"] = "2021-04-30"

model = AzureChatOpenAI(
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    azure_deployment=os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"],
    openai_api_version=os.environ["AZURE_OPENAI_API_VERSION"],
)

注意事项

  • 敏感信息(比如API密钥)不要硬编码在代码里,生产环境优先用方案2,或通过系统环境变量预先设置,而非在代码内赋值。
  • 确认Azure门户中的部署名、API版本、端点信息与代码中完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:27:06