skip to Main Content

Here is my python code, and encountered run time error,

Error: 401 { "statusCode": 401, "message": "Unauthorized. Access token is missing,

invalid, audience is incorrect (https://cognitiveservices.azure.com), or have expired." }

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-02-15-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",
    "Authorization": f"Bearer {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)

Apikey&ENDPOINT

and gpt-4o model in swedencentral as resource type of Open AI service


model

I rechecked key and other values and topics related this issue. I can’t find anything to solve it.

There will be no problem copying and pasting the key values ​​and other necessary values.
API version seem correct.

or, I am using free trial, so need to upgrade subscription? I don’t think so.

2

Answers


  1. Chosen as BEST ANSWER

    I fixed it creating another deployment. Thanks!


  2. You use bearer token authorization when you are acquiring the token using Azure AD. Since you are using the API key, you need not do this.

    Please change the following code:

    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {API_KEY}"
    }
    

    to

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

    And you should not get this error.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search