Stop 16 · AI APIs & Cloud AI PlatformsTopics · 7/9

Azure OpenAI Service (Overview)

Part of the AI Engineer Roadmap

In short

Lots of Indian IT companies and their clients run on Microsoft Azure. Azure OpenAI gives them OpenAI's models with Azure's logins, networks and compliance.

Microsoft's managed offering of OpenAI models within Azure's cloud, offering enterprise compliance, private networking and Azure-native billing.

The blob swipes an ID card at an office canteen counter where a chef serves a plated dish.

Think of it like this

The famous chef in your office canteen

A famous restaurant opens a counter inside your office canteen. Same recipes, but you swipe your company ID, it follows office rules, and the bill goes to your company. Azure OpenAI is that counter: OpenAI models, served inside Azure.

Watch it happen

Same models, different wrapper

OpenAI direct

  • API key from OpenAI
  • New models usually land here first
  • Billed by OpenAI

Azure OpenAI

  • Azure login and RBAC
  • You call your own deployment name
  • Private networking and Azure billing

Pick Azure when your company already lives on Azure and needs its security and compliance. Otherwise direct is simpler.

The big ideas

What you need to know

Deployments, not model names

You deploy a model in your Azure resource and give it a name. Your code calls that deployment name.

Keys or Entra ID

You can use resource keys, but Microsoft Entra ID with managed identities avoids storing secrets at all.

Region and quota

Models and quota differ by region. You may need to request more quota for heavy use.

Content filters on by default

Azure applies its own content filtering to prompts and replies, which can block some requests.

See it in code

Walk through the code

python
1import os2from openai import AzureOpenAI3 4client = AzureOpenAI(5    azure_endpoint="https://my-college-ai.openai.azure.com",6    api_key=os.environ["AZURE_OPENAI_API_KEY"],7    api_version="2024-10-21",8)9resp = client.chat.completions.create(10    model="tutor-gpt",  # YOUR deployment name, not the base model name11    messages=[{"role": "user", "content": "Explain DNS in 2 lines."}],12)13print(resp.choices[0].message.content)

1/3Point the client at your own Azure resource, with its key and an API version.

The same openai package, with the AzureOpenAI client. Endpoint, API version and deployment name come from your Azure resource.

Save yourself the pain

Common mistakes

Oops

Passing 'gpt-4o' as model and getting DeploymentNotFound.

Do this instead

Use the deployment name you created in your Azure resource, which can be anything you chose.

Oops

Hard-coding the resource key in source code.

Do this instead

Read it from an environment variable or Key Vault, or use Entra ID so there is no key to leak.

Your mission

Map the setup

~20 min

Quick check

In Azure OpenAI, what does the model argument refer to?

Go deeper

  1. 1Read the differences between the standard OpenAI API and Azure OpenAI Service.
  2. 2Understand why large enterprises often prefer this over calling OpenAI directly.
  3. 3Learn about Azure's content-filtering layer that sits in front of model responses.

More topics at this stop

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.

Download
InsideEdge