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

AzureChatOpenAI与AzureOpenAIEmbeddings未提供API密钥报错求助

解决Azure OpenAI API密钥已设置但提示「未提供API密钥」的问题
  • 确认Azure OpenAI专属环境变量配置
    Azure OpenAI不能仅依赖OPENAI_API_KEY,必须额外配置以下环境变量:

    • AZURE_OPENAI_API_KEY: 你的Azure OpenAI密钥(与OPENAI_API_KEY值一致,但变量名需区分)
    • AZURE_OPENAI_ENDPOINT: Azure OpenAI资源的专属端点(格式示例:https://<你的资源名称>.openai.azure.com/)
    • OPENAI_API_TYPE: 固定设置为azure
    • OPENAI_API_VERSION: 匹配你使用的API版本(如2023-05-15)
  • 检查LangChain中Azure OpenAI的初始化逻辑
    不同版本组合的初始化方式有差异,需避免误用原生OpenAI的初始化类:

    • 针对openai==0.28.0/0.27.0 + langchain==0.0.341:
      from langchain.chat_models import AzureChatOpenAI
      llm = AzureChatOpenAI(
          azure_deployment="<你的部署名称>",
          api_version="<对应API版本>",
          # 若环境变量已正确加载,无需手动传入key和endpoint
      )
      
    • 针对openai==1.6.0 + langchain==0.0.346:
      新版OpenAI SDK对Azure支持有重构,需确保参数适配:
      import os
      from langchain.chat_models import AzureChatOpenAI
      
      # 调试用:验证环境变量读取是否正常
      print(os.getenv("AZURE_OPENAI_API_KEY"))
      print(os.getenv("AZURE_OPENAI_ENDPOINT"))
      
      llm = AzureChatOpenAI(
          azure_deployment="<你的部署名称>",
          api_version="2023-05-15",
          azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
          api_key=os.getenv("AZURE_OPENAI_API_KEY")
      )
      
  • 排查环境变量加载问题

    • 确保.env文件放在项目根目录,且在代码开头通过python-dotenv正确加载:
      from dotenv import load_dotenv
      load_dotenv()  # 必须在读取环境变量前调用
      
    • 检查代码中是否有其他逻辑覆盖了环境变量的值,避免硬编码密钥与环境变量冲突。
  • 验证版本兼容性
    推荐使用经过稳定测试的版本组合:

    • openai==0.28.1 + langchain==0.0.341
    • openai==1.10.0 + langchain==0.1.0
      避免跨大版本的不兼容问题,尤其是OpenAI SDK从0.x升级到1.x后存在较多接口变更。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:59:58