使用美国西部Azure OpenAI资源组时出现404资源未找到错误的原因
Azure OpenAI美国西部资源组调用GPT-4o报404错误排查方案
问题现象
- 使用美国西部区域的Azure资源组调用Azure OpenAI时,持续返回404错误:
错误代码:404 -
{'error': {'code': '404', 'message': 'Resource not found'}} - 德国区域的资源组使用相同逻辑代码可正常运行,已确认网络、API密钥、端点信息无误,美国西部资源组已部署GPT-4o模型(部署状态正常)
- 调用代码:
from openai import AzureOpenAI client = AzureOpenAI( azure_endpoint = "https://XXXX.openai.azure.com/", api_key="XXXXX", api_version="2024-05-13" ) message_text = [{"role":"system","content":"You are an AI assistant that helps people find information."},{"role":"user","content":"Was ist 4x6?"}] completion = client.chat.completions.create( model="GPT-4o", # model = "deployment_name" messages = message_text, temperature=0.7, max_tokens=800, top_p=0.95, frequency_penalty=0, presence_penalty=0, stop=None ) print(completion.choices[0].message.content)
排查与解决步骤
修正模型部署名称大小写
Azure OpenAI的model参数要求填写部署名称而非模型官方名称,且名称区分大小写。从部署截图看,实际部署名称为小写gpt-4o,但代码中用了大写GPT-4o,这会导致资源匹配失败。修改代码:completion = client.chat.completions.create( model="gpt-4o", # 替换为实际部署名称 messages = message_text, # 其他参数保持不变 )验证API版本兼容性
确认美国西部区域的Azure OpenAI资源是否支持2024-05-13版本。可通过Azure Portal的OpenAI资源页面查看支持的API版本列表,若不支持,切换为该区域兼容的版本(如2024-02-15-preview)测试。检查资源权限配置
确认当前API密钥所属账号,是否拥有美国西部资源组中OpenAI资源的认知服务用户或更高权限。权限不足可能导致资源无法访问,表现为404错误。确认端点域名正确性
美国西部部分Azure OpenAI资源的端点域名可能为.azure.us(而非通用的.azure.com),需检查资源端点是否与实际配置完全匹配,避免拼写错误。基础连通性测试
用curl命令直接调用端点,排除代码层面问题:curl https://<你的端点>/openai/deployments/<你的部署名称>/chat/completions?api-version=2024-05-13 \ -H "Content-Type: application/json" \ -H "api-key: <你的API密钥>" \ -d '{ "messages": [{"role":"system","content":"You are an AI assistant."},{"role":"user","content":"What is 4x6?"}] }'若curl也返回404,说明问题出在资源配置而非代码;若curl成功,再排查Python客户端的参数传递问题。
内容的提问来源于stack exchange,提问作者systrator
相关产品推荐
相关产品推荐

