You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Azure OpenAI调用报401未授权错误,求解决方案

解决Azure OpenAI GPT-4o调用的401未授权错误

以下是针对你遇到的401错误的排查和解决步骤:

1. 修正认证头格式(最可能的原因)

你当前代码中使用Authorization: Bearer {API_KEY}的认证方式是错误的。Azure OpenAI使用API Key认证时,需改用api-key请求头,而非Bearer令牌格式。

修正后的headers代码:

headers = {
    "Content-Type": "application/json",
    "api-key": API_KEY
}

2. 确认免费试用订阅的模型权限

免费试用订阅可能对GPT-4o这类高阶模型有访问限制,你可以:

  • 登录Azure门户,进入你的OpenAI资源,查看模型部署页面,确认GPT-4o部署状态正常
  • 检查订阅的配额和限制,确认GPT-4o的调用额度未耗尽或未被限制

3. 验证API版本兼容性

你使用的API版本是2024-02-15-preview,而GPT-4o部署版本为2024-08-06,建议尝试更新到更匹配的API版本,比如2024-08-01-preview,更新后的端点URL:

https://xxx.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-08-01-preview

4. 检查资源区域与网络访问

  • 确认你的OpenAI资源确实位于swedencentral区域,且端点URL中的资源名称完全匹配(避免拼写错误)
  • 如果运行环境在企业网络下,检查是否有防火墙或代理阻止了对Azure OpenAI端点的访问,可尝试在本地无代理环境测试

修正后的完整代码示例

import requests

# Azure OpenAI Configuration
API_KEY = "xxxxxx"  # API key from Azure OpenAI
ENDPOINT = "https://xxx.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-08-01-preview"

# API data
payload = {
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Tell me a joke."}
    ],
    "temperature": 0.7,
    "max_tokens": 100
}

headers = {
    "Content-Type": "application/json",
    "api-key": API_KEY
}

# API call
response = requests.post(ENDPOINT, headers=headers, json=payload)

if response.status_code == 200:
    print("Response:", response.json())
else:
    print("Error:", response.status_code, response.text)

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

火山引擎 最新活动