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

使用Python调用Azure OpenAI API遇404及资源未找到错误求助

解决Azure OpenAI API连接404/资源未找到错误

检查端点与资源配置

  • 端点URL格式错误:Azure OpenAI的端点必须是完整的资源URL,比如https://<your-resource-name>.openai.azure.com/,不能遗漏末尾的斜杠,也不能只写部分路径。使用AzureOpenAI客户端时,azure_endpoint参数必须严格匹配Azure门户中复制的端点值。
  • 部署名称错误:调用API时必须指定正确的模型部署名称(不是模型本身的名称,比如你部署的gpt-35-turbo实例名称可能是my-gpt35)。无论是用AzureOpenAI客户端的model参数,还是传统openai配置里的engine参数,都要填部署名称,而非基础模型名。

验证API密钥与权限

  • API密钥无效或选错:确保使用的是Azure门户中Azure OpenAI资源的密钥(不是其他服务的密钥),密钥有两个,可换另一个试试,可能其中一个已过期或被撤销。
  • 资源权限配置:确认你的Azure账号对该OpenAI资源有Cognitive Services OpenAI User或更高权限,否则会因权限不足返回404(部分场景下权限问题会伪装成资源未找到)。

代码配置细节检查

AzureOpenAI客户端代码修正

错误示例:

from azure.openai import AzureOpenAI

client = AzureOpenAI(
    azure_endpoint="https://my-resource.openai.azure.com",  # 缺少末尾斜杠
    api_key="my-key",
    api_version="2024-02-15-preview"
)
response = client.chat.completions.create(
    model="gpt-35-turbo",  # 错误使用模型名而非部署名
    messages=[{"role": "user", "content": "Hello"}]
)

修正后:

from azure.openai import AzureOpenAI

client = AzureOpenAI(
    azure_endpoint="https://my-resource.openai.azure.com/",
    api_key="valid-key",
    api_version="2024-02-15-preview"  # 确保API版本与资源支持的版本匹配
)
response = client.chat.completions.create(
    model="my-gpt35-deployment",  # 替换为你的部署名称
    messages=[{"role": "user", "content": "Hello"}]
)

Streamlit+传统openai配置修正

错误示例:

import openai
import streamlit as st

openai.api_type = "azure"
openai.api_base = "https://my-resource.openai.azure.com"  # 缺少斜杠
openai.api_key = "my-key"
openai.api_version = "2024-02-15-preview"

response = openai.ChatCompletion.create(
    engine="gpt-35-turbo",  # 错误使用模型名而非部署名
    messages=[{"role": "user", "content": "Hello"}]
)

修正后:

import openai
import streamlit as st

openai.api_type = "azure"
openai.api_base = "https://my-resource.openai.azure.com/"
openai.api_key = "valid-key"
openai.api_version = "2024-02-15-preview"

response = openai.ChatCompletion.create(
    engine="my-gpt35-deployment",  # 替换为部署名称
    messages=[{"role": "user", "content": "Hello"}]
)

额外排查步骤

  • 检查资源区域:确认你的代码运行环境(比如本地/Streamlit Cloud)与Azure OpenAI资源的区域没有网络限制,部分区域可能需要VNet配置或防火墙允许访问。
  • API版本兼容性:确保使用的api_version是Azure OpenAI资源支持的版本,过时的版本可能导致404,可在Azure门户的资源概述页查看支持的API版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:52:42