AI-102 Study Series Part 4: Creating and Deploying Azure OpenAI in Azure AI Foundry

Creating and deploying Azure OpenAI in Azure AI Foundry involves several steps. Here’s a detailed guide to help you get started: Step 1: Create an Azure OpenAI Resource Sign in to Azure Portal: Go to the Azure portal and sign in with your Azure subscription. Create a Resource: Select “Create a resource” and search for “Azure OpenAI”. When you locate the service, select “Create”. Fill in the Details: Subscription: Choose your Azure subscription. Resource Group: Select an existing resource group or create a new one. Region: Choose the region where you want to deploy the resource. Name: Provide a descriptive name for your Azure OpenAI resource. Pricing Tier: Select the pricing tier (currently, only the Standard tier is available). Configure Network Security: ...

June 4, 2025 · 2 min · Taner

AI-102 Study Series Part 5: Overview of Azure OpenAI in Azure AI Foundry Models

Azure OpenAI in Azure AI Foundry Models provides access to a diverse set of AI models developed by OpenAI, integrated into the Azure ecosystem. These models are designed to handle various tasks, including natural language processing, image generation, and more. Here’s a detailed overview: Key Features of Azure OpenAI in Azure AI Foundry Models Diverse Model Selection: Azure OpenAI offers a range of models, including the latest GPT-4 series, which can understand and generate natural language and code 1. Multimodal Capabilities: Some models, like GPT-4 Turbo, can process both text and images, enabling more complex and versatile applications 1. Reasoning Models: Advanced models such as the o-series are optimized for logical reasoning and problem-solving 1. Embeddings and Image Generation: Models that convert text into numerical vectors for text similarity and generate original images from natural language descriptions 1. Audio Models: Models for speech-to-text, translation, and text-to-speech, supporting conversational interactions and audio generation 1. Benefits of Using Azure OpenAI in Foundry Models Enterprise-Grade Reliability: Models hosted and billed directly by Microsoft offer enterprise-grade SLAs and deep integration with Azure services 2. Flexible Deployment: Deploy models using various options like PayGo, Managed Compute, or Provisioned Throughput (PTU), allowing you to scale based on your needs 2. Advanced Tooling: Utilize tools like Model Leaderboard, Model Router, and Image Playground to optimize and manage your AI models 2. Responsible AI Standards: Models adhere to responsible AI standards, ensuring ethical and secure use 2. Example Use Cases Customer Support: Use GPT models to automate and enhance customer support interactions. Content Creation: Generate high-quality text and images for marketing and creative projects. Data Analysis: Employ reasoning models to analyze complex datasets and derive insights. Voice Assistants: Implement audio models for creating sophisticated voice assistants. For more detailed information, you can refer to the Azure documentation on OpenAI models 1. ...

June 5, 2025 · 2 min · Taner

AI-102 Study Series Part 6: Managing Azure OpenAI Models in Azure AI Foundry

Managing Azure OpenAI models in Azure AI Foundry involves several key steps, including deployment, customization, monitoring, and scaling. Here’s a detailed guide: Step 1: Deploy Models Sign in to Azure AI Foundry: Go to the Azure AI Foundry portal and sign in. Select Your Project: Choose the project where you want to deploy the model. Model Catalog: Navigate to the Model Catalog and select the Azure OpenAI model you want to deploy. Deploy Model: Click on “Deploy” and configure the deployment settings, such as resource allocation and endpoint configuration 1. Step 2: Customize Models Open in Playground: After deployment, open the model in the Azure AI Foundry playground. Fine-Tuning: Customize the model with your own data using fine-tuning techniques. This improves the model’s accuracy and relevance for your specific use case 2. Embeddings and Indexes: Integrate additional components like embeddings and indexes to enhance the model’s capabilities 1. Step 3: Monitor and Scale Monitoring: Use Azure Monitor to track the performance and health of your deployed models. Set up alerts for any anomalies or performance issues 2. Scaling: Adjust the resource allocation based on demand. You can scale up or down using Azure AI Foundry’s flexible deployment options, such as serverless, managed, or reserved 2. Step 4: Manage Security and Compliance Security: Implement robust security frameworks to protect your models and data. Use built-in tools to manage harmful content and ensure compliance with regulations 2. Governance: Maintain governance over your AI models by tracking usage and access through Azure’s enterprise-grade security features 2. Example Configuration Here’s an example of deploying a model using the Azure CLI: ...

June 6, 2025 · 2 min · Taner

AI-102 Study Series Part 7: Azure OpenAI REST API Reference

For the AI-102 exam, understanding the Azure OpenAI REST API reference is crucial. Here are the key areas you should focus on: Control Plane API Resource Management: Learn how to create, update, and delete Azure OpenAI resources using the control plane API 1. Deployment: Understand how to deploy models and manage deployments through Azure Resource Manager, Bicep, Terraform, and Azure CLI 1. Data Plane - Authoring API Fine-Tuning: Familiarize yourself with the API endpoints for fine-tuning models, uploading files, and managing ingestion jobs 1. Batch Operations: Study how to perform batch operations and model-level queries 1. Data Plane - Inference API Completions: Learn how to create completions for provided prompts using the inference API 1. Chat Completions: Understand the endpoints for chat completions, embeddings, and other inference capabilities 1. Authentication: Know the methods for authenticating API calls using API Keys or Microsoft Entra ID 1. REST API Versioning API Versions: Be aware of the versioning structure using the api-version query parameter, which follows the YYYY-MM-DD format 1. Example API Call Here’s an example of making a completion request: ...

June 1, 2025 · 2 min · Taner

AI-102 Study Series Part 8: Azure OpenAI REST API Examples

Here are examples for each of the key areas of the Azure OpenAI REST API that are important for the AI-102 exam: Control Plane API Example: Creating an Azure OpenAI Resource PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.CognitiveServices/accounts/{account-name}?api-version=2024-10-01 Request Body: { "location": "eastus", "sku": { "name": "S0" }, "kind": "OpenAI", "properties": { "networkAcls": { "defaultAction": "Deny", "virtualNetworkRules": [ { "id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Network/virtualNetworks/{vnet-name}/subnets/{subnet-name}" } ] } } } This example shows how to create an Azure OpenAI resource using the control plane API 1. ...

June 1, 2025 · 2 min · Taner

AI-102 Study Series Exercise 1: Building a GenAI Application with Azure AI Foundry

Important Points: Deploying a Model in Azure AI Foundry: Sign in to the Azure AI Foundry portal. Search for and select the gpt-4o model. Create a project with customized settings (resource name, subscription, resource group, region). The project includes connections to Azure AI services and models. Creating a Client Application: Use Azure AI Foundry and Azure AI Model Inference SDKs to develop an application. Choose between Python or C# for development. Application Configuration: ...

May 10, 2025 · 2 min · Taner

AI-102 Study Series Exercise 2: GenAI Chat App with Azure AI Foundry SDK

Overview The exercise walks you through building a generative AI chat app using the Azure AI Foundry SDK. You deploy the gpt-4o model in the Azure AI Foundry portal and then create a client application that interacts with that model. Both Python and C# implementations are provided. Repository and Environment Setup Clone the repository and navigate to the correct folder: Python: rm -r mslearn-ai-foundry -f git clone https://github.com/microsoftlearning/mslearn-ai-studio mslearn-ai-foundry cd mslearn-ai-foundry/labfiles/chat-app/python C#: ...

May 13, 2025 · 2 min · Taner

AI-102 Study Series Exercise 3: Prompt Flow Chat App with Azure AI Foundry

Overview This exercise demonstrates how to use the Azure AI Foundry portal’s prompt flow to build a custom chat app. The app leverages a generative AI model (via Azure OpenAI’s GPT-4 variant) to manage conversation by taking a user’s question and the chat history as inputs and generating an answer. The work is divided into several setup and deployment phases. Step-by-Step Summary Create an Azure AI Foundry Hub and Project ...

May 17, 2025 · 4 min · Taner

AI-102 Study Series Exercise 4: Retrieval Augmented Generation (RAG) Chat App

Overview This exercise demonstrates how to build a Retrieval Augmented Generation (RAG) chat application that integrates custom data sources into prompts for a generative AI model. The app is developed using Azure AI Foundry and deployed with Azure OpenAI and Azure AI Search. Steps & Configuration Details 1. Create an Azure AI Foundry Hub and Project Open Azure AI Foundry portal (https://ai.azure.com) and create a hub project. Configuration Items: Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Hub Name: A valid name. Location: Example values → East US 2, Sweden Central (quota limits may require a different region). 2. Deploy Models Two models are required: ...

June 3, 2025 · 2 min · Taner

AI-102 Study Series Exercise 5: Fine-Tuning GPT-4o for a Custom Travel Assistant

Overview This exercise walks you through fine-tuning a GPT-4o model using Azure AI Foundry to create a custom chat application. The goal is to refine the model’s responses to ensure a consistent conversational tone tailored for a travel assistant. Steps & Configuration Details 1. Deploy a Base Model in Azure AI Foundry Open Azure AI Foundry portal (https://ai.azure.com) and sign in. Search for gpt-4o and select Use this model. Configuration Items: Azure AI Foundry Resource: A valid name. Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Region: Choose from: East US 2 North Central US Sweden Central (regions supporting fine-tuning). Deployment Name: gpt-4o (default). 2. Fine-Tune the Model Download Training Data: https://raw.githubusercontent.com/MicrosoftLearning/mslearn-ai-studio/refs/heads/main/data/travel-finetune-hotel.jsonl Save the file as JSONL (ensure it’s not saved as .txt). Navigate to Fine-tuning under Build and customize. Select Add fine-tune model → Choose gpt-4o → Click Next. Fine-Tuning Configuration: ...

June 7, 2025 · 3 min · Taner

AI-102 Study Series Exercise 8: AI-Powered Application with Azure OpenAI

Overview This exercise demonstrates how to develop an AI-powered application using Azure OpenAI Service. The goal is to integrate generative AI into a chatbot or other applications using REST APIs or SDKs. Steps & Configuration Details 1. Clone the Repository Open Visual Studio Code. Run the following command to clone the repository: git clone https://github.com/MicrosoftLearning/mslearn-openai Open the cloned folder in Visual Studio Code. 2. Provision an Azure OpenAI Resource Sign into Azure Portal (https://portal.azure.com). Create an Azure OpenAI resource with the following settings: Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Region: Choose from: East US East US 2 North Central US South Central US Sweden Central West US West US 3 Name: A unique name. Pricing Tier: Standard S0. 3. Deploy a Model Open Azure Cloud Shell (Bash environment). Run the following command, replacing placeholders with actual values: az cognitiveservices account deployment create \ -g <your_resource_group> \ -n <your_OpenAI_service> \ --deployment-name gpt-4o \ --model-name gpt-4o \ --model-version 2024-05-13 \ --model-format OpenAI \ --sku-name "Standard" \ --sku-capacity 5 Configuration Items: Deployment Name: gpt-4o Model Name: gpt-4o Model Version: 2024-05-13 SKU Capacity: 5 (measured in thousands of tokens per minute). 4. Configure Your Application Open Visual Studio Code. Navigate to: C#: Labfiles/01-app-develop/CSharp Python: Labfiles/01-app-develop/Python Open an integrated terminal and install the Azure OpenAI SDK: C#: dotnet add package Azure.AI.OpenAI --version 2.1.0 Python: pip install openai==1.65.2 Open the configuration file: C#: appsettings.json Python: .env Update Configuration Values: Azure OpenAI Endpoint API Key Deployment Name Save the configuration file. 5. Add Code to Use Azure OpenAI Open the code file: C#: Program.cs Python: application.py Add the Azure OpenAI package: C#: using Azure.AI.OpenAI; using OpenAI.Chat; Python: from openai import AsyncAzureOpenAI Configure the Azure OpenAI client: C#: AzureOpenAIClient azureClient = new ( new Uri(oaiEndpoint), new ApiKeyCredential(oaiKey) ); ChatClient chatClient = azureClient.GetChatClient(oaiDeploymentName); Python: client = AsyncAzureOpenAI( azure_endpoint=azure_oai_endpoint, api_key=azure_oai_key, api_version="2024-02-15-preview" ) Format and send the request: C#: ChatCompletionOptions chatCompletionOptions = new ChatCompletionOptions() { Temperature = 0.7f, MaxOutputTokenCount = 800 }; ChatCompletion completion = chatClient.CompleteChat( [new SystemChatMessage(systemMessage), new UserChatMessage(userMessage)], chatCompletionOptions ); Console.WriteLine($"{completion.Role}: {completion.Content[0].Text}"); Python: messages = [ {"role": "system", "content": system_message}, {"role": "user", "content": user_message}, ] response = await client.chat.completions.create( model=model, messages=messages, temperature=0.7, max_tokens=800 ) print(response.choices[0].message.content) 6. Run Your Application Open Visual Studio Code. Run the application: C#: dotnet run Python: python application.py Test different prompts to observe AI responses. 7. Clean Up Delete Azure resources to avoid unnecessary costs: Open Azure Portal (https://portal.azure.com). Navigate to Resource Groups. Select the resource group and click Delete.

June 8, 2025 · 2 min · Taner

AI-102 Study Series Exercise 9: Retrieval Augmented Generation (RAG) with Azure OpenAI

Overview This exercise demonstrates how to implement Retrieval Augmented Generation (RAG) using Azure OpenAI Service and Azure AI Search. The goal is to enhance AI-generated responses by grounding them in custom data sources. Steps & Configuration Details 1. Provision Azure Resources To complete this exercise, you need: Azure OpenAI resource Azure AI Search resource Azure Storage Account resource Configuration Items: Azure OpenAI Resource: Subscription: Select an approved Azure subscription. Resource Group: Choose or create a resource group. Region: Choose from: East US East US 2 North Central US South Central US Sweden Central West US West US 3 Name: A unique name. Pricing Tier: Standard S0 Azure AI Search Resource: ...

June 7, 2025 · 3 min · Taner

AI-102 Study Series Exercise 10: Image Generation with DALL-E in Azure AI Foundry

Overview This exercise demonstrates how to generate images using AI with Azure AI Foundry and the OpenAI DALL-E model. The goal is to develop an application that interacts with the model to create AI-generated images. Steps & Configuration Details 1. Create an Azure AI Foundry Project Open Azure AI Foundry portal (https://ai.azure.com) and sign in. Search for dall-e-3 and select Use this model. Configuration Items: Azure AI Foundry Resource: A valid name. Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Region: Choose any AI Services-supported location. Deployment Name: dall-e-3 (default). 2. Test the Model in the Playground Navigate to Playgrounds → Images Playground. Ensure DALL-E model deployment is selected. Submit prompts: Create an image of a robot eating spaghetti. Review the generated image and refine prompts. 3. Prepare the Application Configuration Open Azure AI Foundry portal → Models + Endpoints. Click Get Endpoint to retrieve the connection string. Open Azure Portal (https://portal.azure.com). Launch Azure Cloud Shell (PowerShell environment). Clone the repository: rm -r mslearn-ai-vision -f git clone https://github.com/MicrosoftLearning/mslearn-ai-vision Navigate to the correct folder: Python: cd mslearn-ai-vision/Labfiles/dalle-client/python C#: cd mslearn-ai-vision/Labfiles/dalle-client/c-sharp Install dependencies: Python: python -m venv labenv ./labenv/bin/Activate.ps1 pip install -r requirements.txt azure-identity azure-ai-projects openai requests C#: dotnet add package Azure.Identity dotnet add package Azure.AI.Projects --version 1.0.0-beta.9 dotnet add package Azure.AI.OpenAI Open the configuration file: Python: .env C#: appsettings.json Update Configuration Values: Project Endpoint Model Deployment Name (dall-e-3) Save the configuration file. 4. Add Code to Use Azure OpenAI Open the code file: Python: dalle-client.py C#: Program.cs Add references: Python: from dotenv import load_dotenv from azure.identity import DefaultAzureCredential from azure.ai.projects import AIProjectClient import requests C#: using Azure.Identity; using Azure.AI.Projects; using Azure.AI.OpenAI; using OpenAI.Images; Initialize the OpenAI client: Python: project_client = AIProjectClient( endpoint=project_connection, credential=DefaultAzureCredential( exclude_environment_credential=True, exclude_managed_identity_credential=True ) ) openai_client = project_client.inference.get_azure_openai_client(api_version="2024-06-01") C#: DefaultAzureCredentialOptions options = new() { ExcludeEnvironmentCredential = true, ExcludeManagedIdentityCredential = true }; ImageClient openAIimageClient = new AzureOpenAIClient( new Uri(project_connection), new DefaultAzureCredential(options) ).GetImageClient(model_deployment); Generate an image: Python: result = openai_client.images.generate( model=model_deployment, prompt=input_text, n=1 ) json_response = json.loads(result.model_dump_json()) image_url = json_response["data"][0]["url"] C#: GeneratedImage imageGeneration = await openAIimageClient.GenerateImageAsync( input_text, new ImageGenerationOptions() { Size = GeneratedImageSize.W1024xH1024 } ); imageUrl = imageGeneration.ImageUri; 5. Run Your Application Open Azure Cloud Shell. Run the application: Python: python dalle-client.py C#: dotnet run Example prompt: Create an image of a robot eating pizza. The response should include a generated image. 6. Clean Up Delete Azure resources to avoid unnecessary costs: Open Azure Portal (https://portal.azure.com). Navigate to Resource Groups. Select the resource group and click Delete.

June 7, 2025 · 2 min · Taner