调用Azure OpenAI API遇InvalidRequestError:Resource not found问题求助
Azure OpenAI API 404错误调试方案
核心错误点排查
- 端点URL无效:你的
openai.api_base设置的是占位符https://. .openai.azure.com/,这不是有效的Azure OpenAI资源端点。正确格式应为https://{你的资源名称}.openai.azure.com/,需替换为Azure门户中创建的OpenAI资源实际端点。同时os.getenv()用法错误,该函数用于读取系统环境变量,若直接设置URL应直接赋值字符串,而非传入URL到os.getenv()中。 - 环境变量赋值未定义变量:代码中
os.environ["OPENAI_API_TYPE"] = OPENAI_API_TYPE等行里的OPENAI_API_TYPE、OPENAI_API_VERSION等变量未定义,会触发NameError。需直接赋值对应字符串,或使用已设置的openai库变量。 - 配置重复冲突:同时设置openai库全局配置和系统环境变量,LangChain的
AzureOpenAI会优先读取环境变量,建议统一一种配置方式避免冲突。
修正后的完整代码示例
方式一:直接设置openai库配置(推荐)
from langchain.llms import AzureOpenAI import openai # 替换为你的实际配置 openai.api_key = "你的API密钥" openai.api_base = "https://你的资源名称.openai.azure.com/" openai.api_type = 'azure' openai.api_version = '2023-03-15-preview' llm = AzureOpenAI( deployment_name="text-davinci-003", model_name="text-davinci-003" ) print(llm("hi"))
方式二:通过环境变量配置
from langchain.llms import AzureOpenAI import os # 设置环境变量 os.environ["OPENAI_API_TYPE"] = "azure" os.environ["OPENAI_API_VERSION"] = "2023-03-15-preview" os.environ["OPENAI_API_BASE"] = "https://你的资源名称.openai.azure.com/" os.environ["OPENAI_API_KEY"] = "你的API密钥" llm = AzureOpenAI( deployment_name="text-davinci-003", model_name="text-davinci-003" ) print(llm("hi"))
额外验证步骤
- 确认Azure门户中OpenAI资源状态为运行中。
- 确认
text-davinci-003部署已在你的OpenAI资源中创建且状态正常。 - 用curl或浏览器访问修正后的端点(需携带API密钥在请求头),验证端点有效性。
内容的提问来源于stack exchange,提问作者wenkang177
相关产品推荐
相关产品推荐

