Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
RikardMartin
New Member

I can't authenticate to AzureOpenAI() in Fabric notebooks. It works locally

I get the following error:

AuthenticationError: Error code: 401 - {'statusCode': 401, 'message': 'Unauthorized. Access token is missing, invalid, audience is incorrect (https://cognitiveservices.azure.com), or have expired.'}

 

This is what i'm doing:

from notebookutils.mssparkutils.credentials import getSecret
 
from openai import AzureOpenAI
key = getSecret(KEYVAULT_ENDPOINT, "openai-api-key")
base = getSecret(KEYVAULT_ENDPOINT, "openai-api-base")
 
client = AzureOpenAI(
    api_key=key,  
    api_version="2023-07-01-preview",
    azure_endpoint=base
    )
 
I have tried all API-versions listed on mslearn. Anyone have any ideas?
 
Thanks in advance
Richard
 
6 REPLIES 6
RikardMartin
New Member

Hi everyone. I noticed i solved my issue by installing recent version of openai python package.  Thnk it was something with API versions and how Fabric handled Python environments (its in preview so...).

 

pelumioluwa
Regular Visitor

I am having the same issue but doing everything correctly and it gives the error 'authentication failed'

my code is below 

import openai

openai.api_key = openaikey
openai.api_version = "2023-09-01-preview"

chat_context_prompt = """
You are to answer questions with the below prompt 
"""

def prompt_gpt(messages) :
response = openai.ChatCompletion.create(
engine='gpt-35-turbo',
messages=messages,
max_tokens=1000,
top_p=0.95
)
return response.choices[0].message['content']

def custom_chatbot(question) :
try:
response = prompt_gpt(
[
{"role": "system", "content": chat_context_prompt},
{"role": "user", "content": question},
]
)
return response
except Exception as e:
raise e

summary = custom_chatbot(' After the attack on Pearl Harbor, the feelings of animosity in America against Japan increased. By late 1945, the Allied leaders met in Germany with news of a secret new weapon, called the atomic bomb, created by American scientists, that was powerful enough to destroy an entire city. However, there were some feelings that the bomb was too powerful, and the leaders chose instead to send the Potsdam Declaration to Japan warning them to surrender'

print(summary)
Anonymous
Not applicable

Not sure what you have going on in that code. It looks like you're using the openai syntax and not AzureOpenAI. Different suite of functions for AzureOpenAI.
 
Following python code works flawlessly for me. I suggest you copy/paste into a new notebook, replace the api key and give it a whirl
 
%pip install openai==1.12.0

import openai
from openai import AzureOpenAI

client = AzureOpenAI(
api_key="your-api-key-from-the-AI Access-Page",
api_version="2023-09-01-preview",
)

MESSAGES = [
{"role": "system", "content": """you are a funny bot"""},
{"role": "user", "content": "tell me a joke about pumpkins"},
{"role": "assistant","content": "Why do pumpkins sit on people's porches? They have no hands to knock on the door!"},
]
MESSAGES.append({"role": "user", "content": "tell me a joke about frogs"})

completion = client.chat.completions.create(model="gpt-35-turbo", messages=MESSAGES,temperature=0.9)
print(completion.choices[0].message.content)
Anonymous
Not applicable

Base = key = getsecret 

That's wrong. Should be base = getSecret 

For the base url. You're overwriting the key again with the base url 

Thank you for the reply. However that mistake is not in my real code. Sorry about pasting in that extra error here...

Anonymous
Not applicable

Make sure the baseurl is: 

you hackathon api key will only work with that base url
 
API Version is:  2023-09-01-preview
 
and then use the guid you got on sign up for openai-api-key.

Helpful resources

Announcements
MarchFBCvideo - carousel

Fabric Monthly Update - March 2025

Check out the March 2025 Fabric update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

"); $(".slidesjs-pagination" ).prependTo(".pagination_sec"); $(".slidesjs-pagination" ).append("
"); $(".slidesjs-play.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-stop.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-pagination" ).append(""); $(".slidesjs-pagination" ).append(""); } catch(e){ } /* End: This code is added by iTalent as part of iTrack COMPL-455 */ $(".slidesjs-previous.slidesjs-navigation").attr('tabindex', '0'); $(".slidesjs-next.slidesjs-navigation").attr('tabindex', '0'); /* start: This code is added by iTalent as part of iTrack 1859082 */ $('.slidesjs-play.slidesjs-navigation').attr('id','playtitle'); $('.slidesjs-stop.slidesjs-navigation').attr('id','stoptitle'); $('.slidesjs-play.slidesjs-navigation').attr('role','tab'); $('.slidesjs-stop.slidesjs-navigation').attr('role','tab'); $('.slidesjs-play.slidesjs-navigation').attr('aria-describedby','tip1'); $('.slidesjs-stop.slidesjs-navigation').attr('aria-describedby','tip2'); /* End: This code is added by iTalent as part of iTrack 1859082 */ }); $(document).ready(function() { if($("#slides .item").length < 2 ) { /* Fixing Single Slide click issue (commented following code)*/ // $(".item").css("left","0px"); $(".item.slidesjs-slide").attr('style', 'left:0px !important'); $(".slidesjs-stop.slidesjs-navigation").trigger('click'); $(".slidesjs-previous").css("display", "none"); $(".slidesjs-next").css("display", "none"); } var items_length = $(".item.slidesjs-slide").length; $(".slidesjs-pagination-item > button").attr("aria-setsize",items_length); $(".slidesjs-next, .slidesjs-pagination-item button").attr("tabindex","-1"); $(".slidesjs-pagination-item button").attr("role", "tab"); $(".slidesjs-previous").attr("tabindex","-1"); $(".slidesjs-next").attr("aria-hidden","true"); $(".slidesjs-previous").attr("aria-hidden","true"); $(".slidesjs-next").attr("aria-label","Next"); $(".slidesjs-previous").attr("aria-label","Previous"); //$(".slidesjs-stop.slidesjs-navigation").attr("role","button"); //$(".slidesjs-play.slidesjs-navigation").attr("role","button"); $(".slidesjs-pagination").attr("role","tablist").attr("aria-busy","true"); $("li.slidesjs-pagination-item").attr("role","list"); $(".item.slidesjs-slide").attr("tabindex","-1"); $(".item.slidesjs-slide").attr("aria-label","item"); /*$(".slidesjs-stop.slidesjs-navigation").on('click', function() { var itemNumber = parseInt($('.slidesjs-pagination-item > a.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); });*/ $(".slidesjs-stop.slidesjs-navigation, .slidesjs-pagination-item > button").on('click keydown', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); var itemNumber = parseInt($('.slidesjs-pagination-item > button.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); }); $(".slidesjs-play.slidesjs-navigation").on('click', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); }); $(".slidesjs-pagination-item button").keyup(function(e){ var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); $(".slidesjs-stop.slidesjs-navigation").trigger('click').blur(); $("button.active").focus(); } }); $(".slidesjs-play").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-stop").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-play")) { $(".slidesjs-stop").focus(); } } }); $(".slidesjs-stop").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-play").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-stop")) { $(".slidesjs-play").focus(); } } }); $(".slidesjs-pagination-item").keydown(function(e){ switch (e.which){ case 37: //left arrow key $(".slidesjs-previous.slidesjs-navigation").trigger('click'); e.preventDefault(); break; case 39: //right arrow key $(".slidesjs-next.slidesjs-navigation").trigger('click'); e.preventDefault(); break; default: return; } $(".slidesjs-pagination-item button.active").focus(); }); }); // Start This code is added by iTalent as part of iTrack 1859082 $(document).ready(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); $("#tip2").attr("aria-hidden","true").addClass("hidden"); $(".slidesjs-stop.slidesjs-navigation, .slidesjs-play.slidesjs-navigation").attr('title', ''); $("a#playtitle").focus(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").mouseover(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").blur(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#playtitle").mouseleave(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#play").keydown(function(ev){ if (ev.which ==27) { $("#tip1").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); $("a#stoptitle").focus(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").mouseover(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").blur(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").mouseleave(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").keydown(function(ev){ if (ev.which ==27) { $("#tip2").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); }); // End This code is added by iTalent as part of iTrack 1859082