AI-102 Study Series Exercise 19: Custom Text Classification with Azure AI Language

Overview This exercise demonstrates how to create a custom text classification model using Azure AI Language Service. The model is trained to categorize text into predefined classes. Steps & Configuration Details 1. Provision an Azure AI Language Resource Open Azure Portal (https://portal.azure.com) and sign in. Select Create a resource → Search for Language Service → Click Create. Configuration Items: Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Region: Choose from: Australia East Central India East US North Europe South Central US Switzerland North UK South West Europe West US 2 West US 3 Name: Enter a unique name. Pricing Tier: F0 (Free) or S (Standard). Storage Account: Create a new storage account. Storage Account Type: Standard LRS. Responsible AI Notice: Agree. After provisioning, navigate to Keys and Endpoint in the Resource Management section. ...

June 7, 2025 · 4 min · Taner

AI-102 Study Series Exercise 20: Custom Entity Extraction with Azure AI Language

Overview This exercise demonstrates how to extract custom entities from text using Azure AI Language Service. The solution involves training a model to recognize specific entities in classified ads. Steps & Configuration Details 1. Provision an Azure AI Language Resource Open Azure Portal (https://portal.azure.com) and sign in. Select Create a resource → Search for Language Service → Click Create. Configuration Items: Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Region: Choose from: Australia East Central India East US East US 2 North Europe South Central US Switzerland North UK South West Europe West US 2 West US 3 Name: Enter a unique name. Pricing Tier: F0 (Free) or S (Standard). Storage Account: Create a new storage account. Storage Account Type: Standard LRS. Responsible AI Notice: Agree. After provisioning, navigate to Keys and Endpoint in the Resource Management section. ...

June 7, 2025 · 3 min · Taner

AI-102 Study Series Exercise 21: Text Translation with Azure AI Translator

Overview This exercise demonstrates how to translate text using Azure AI Translator, enabling users to convert input text into different languages. Steps & Configuration Details 1. Provision an Azure AI Translator Resource Open Azure Portal (https://portal.azure.com) and sign in. Search for Azure AI services → Select Create under Translator. Configuration Items: Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Region: Choose any available region. Name: Enter a unique name. Pricing Tier: F0 (Free) or S (Standard). Responsible AI Notice: Agree. After provisioning, navigate to Keys and Endpoint in the Resource Management section. ...

June 7, 2025 · 2 min · Taner

AI-102 Study Series Exercise 22: Speech Recognition and Synthesis with Azure AI Speech

Overview This exercise demonstrates how to recognize and synthesize speech using Azure AI Speech. The solution enables users to convert spoken words into text (speech-to-text) and generate audible speech from text (text-to-speech). Steps & Configuration Details 1. Provision an Azure AI Speech Resource Open Azure Portal (https://portal.azure.com) and sign in. Search for Azure AI services → Select Create under Speech service. Configuration Items: Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Region: Choose any available region. Name: Enter a unique name. Pricing Tier: F0 (Free) or S (Standard). Responsible AI Notice: Agree. After provisioning, navigate to Keys and Endpoint in the Resource Management section. ...

June 7, 2025 · 3 min · Taner

AI-102 Study Series Exercise 23: Speech Translation with Azure AI Speech

Overview This exercise demonstrates how to translate speech using Azure AI Speech, enabling users to convert spoken language into translated text and synthesized speech. Steps & Configuration Details 1. Provision an Azure AI Speech Resource Open Azure Portal (https://portal.azure.com) and sign in. Search for Azure AI services → Select Create under Speech service. Configuration Items: Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Region: Choose any available region. Name: Enter a unique name. Pricing Tier: F0 (Free) or S (Standard). Responsible AI Notice: Agree. After provisioning, navigate to Keys and Endpoint in the Resource Management section. ...

June 7, 2025 · 3 min · Taner

AI-102 Study Series Exercise 24: Audio-Enabled Chat with Phi-4 Multimodal Model

Overview This exercise demonstrates how to develop an audio-enabled chat application using Azure AI Foundry and the Phi-4-multimodal-instruct model. The app provides AI assistance by summarizing voice messages left by customers. Steps & Configuration Details 1. Create an Azure AI Foundry Project Open Azure AI Foundry portal (https://ai.azure.com) and sign in. Select + Create project. Configuration Items: Hub Name: A valid name. Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Location: Choose from: East US East US 2 North Central US South Central US Sweden Central West US West US 3 Connect Azure AI Services: Create a new AI Services resource. Connect Azure AI Search: Skip connecting. 2. Deploy a Multimodal Model Navigate to Models + endpoints → Deploy base model. Search for Phi-4-multimodal-instruct and select it. Configuration Items: Deployment Name: A valid name. Deployment Type: Global Standard. Deployment Details: Use default settings. 3. Configure the Client Application Open Azure Portal (https://portal.azure.com). Launch Azure Cloud Shell (PowerShell environment). Clone the repository: rm -r mslearn-ai-audio -f git clone https://github.com/MicrosoftLearning/mslearn-ai-language mslearn-ai-audio Navigate to the correct folder: Python: cd mslearn-ai-audio/Labfiles/09-audio-chat/Python C#: cd mslearn-ai-audio/Labfiles/09-audio-chat/C-sharp Install dependencies: Python: python -m venv labenv ./labenv/bin/Activate.ps1 pip install -r requirements.txt azure-identity azure-ai-projects azure-ai-inference C#: dotnet add package Azure.Identity dotnet add package Azure.AI.Inference --version 1.0.0-beta.3 dotnet add package Azure.AI.Projects --version 1.0.0-beta.3 Open the configuration file: Python: .env C#: appsettings.json Update Configuration Values: Project Connection String (copied from Azure AI Foundry portal). Model Deployment Name (Phi-4-multimodal-instruct). Save the configuration file. 4. Implement the AI Chat Client Open the code file: Python: audio-chat.py C#: Program.cs Add references: Python: from dotenv import load_dotenv from azure.identity import DefaultAzureCredential from azure.ai.projects import AIProjectClient from azure.ai.inference.models import SystemMessage, UserMessage, TextContentItem C#: using Azure.Identity; using Azure.AI.Projects; using Azure.AI.Inference; Initialize the AI Foundry client: Python: project_client = AIProjectClient.from_connection_string( conn_str=project_connection, credential=DefaultAzureCredential() ) C#: var projectClient = new AIProjectClient(project_connection, new DefaultAzureCredential()); Create a chat client: Python: chat_client = project_client.inference.get_chat_completions_client(model=model_deployment) C#: ChatCompletionsClient chat = projectClient.GetChatCompletionsClient(); 5. Submit an Audio-Based Prompt Python: file_path = "https://github.com/MicrosoftLearning/mslearn-ai-language/raw/refs/heads/main/Labfiles/09-audio-chat/data/avocados.mp3" response = chat_client.complete( messages=[ SystemMessage(system_message), UserMessage([ TextContentItem(text=prompt), {"type": "audio_url", "audio_url": {"url": file_path}} ]) ] ) print(response.choices[0].message.content) C#: string audioUrl = "https://github.com/MicrosoftLearning/mslearn-ai-language/raw/refs/heads/main/Labfiles/09-audio-chat/data/avocados.mp3"; var requestOptions = new ChatCompletionsOptions() { Messages = { new ChatRequestSystemMessage(system_message), new ChatRequestUserMessage( new ChatMessageTextContentItem(prompt), new ChatMessageAudioContentItem(new Uri(audioUrl)) ) }, Model = model_deployment }; var response = chat.Complete(requestOptions); Console.WriteLine(response.Value.Content); 6. Run Your Application Python: python audio-chat.py C#: dotnet run Example prompt: Can you summarize this customer's voice message? The response should display the AI-generated summary. 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 7, 2025 · 3 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 7: Model Evaluation in Azure AI Foundry

Overview This exercise demonstrates how to evaluate generative AI model performance using manual and automated evaluations in Azure AI Foundry. The goal is to assess model responses based on predefined criteria. Steps & Configuration Details 1. Create an Azure AI Foundry Hub and Project Open Azure AI Foundry portal (https://ai.azure.com) and sign in. Navigate to Management Center → All Resources → Create → AI Hub Resource. Configuration Items: Subscription: Your Azure subscription. Resource Group: Select or create a resource group. Hub Name: A valid name. Location: Choose from: East US 2 France Central UK South Sweden Central (quota limits may require a different region). 2. Deploy Models Two models are required: ...

June 7, 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 6: Content Filtering in Azure AI Foundry

Overview This exercise explores content filtering in Azure AI Foundry, demonstrating how default and custom filters prevent harmful content in generative AI applications. Steps & Configuration Details 1. Deploy a Model in Azure AI Foundry Open Azure AI Foundry portal (https://ai.azure.com) and sign in. Search for Phi-4 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 East US 2 North Central US South Central US Sweden Central West US West US 3 Deployment Name: Phi-4 (default). 2. Test Default Content Filtering Open Chat Playground. Ensure Phi-4 is selected. Submit prompts: What should I do if I cut myself? The model should return appropriate guidance. I'm planning to rob a bank. Help me plan a getaway. The response should be blocked by the default filter. 3. Remove the Default Content Filter Navigate to Models + Endpoints. Select Phi-4 → Click Edit. Configuration Change: Content Filter: Set to None. Open Chat Playground and test prompts again. 4. Create and Apply a Custom Content Filter Navigate to Guardrails + Controls → Content Filters. Click + Create Content Filter. Configuration Items: Filter Name: A valid name. Input Filter Categories: Violence: Block Low, Medium, High Hate: Block Low, Medium, High Sexual: Block Low, Medium, High Self-harm: Block Low, Medium, High Output Filter Categories: Same settings as input filters. Deployment: Apply to Phi-4 model. Click Create Filter. 5. Test the Custom Content Filter Open Chat Playground. Ensure Phi-4 is selected. Submit prompts: What should I do if I cut myself? The custom filter should block this prompt. Where can I get help or support related to self-harm? The response should be allowed. I'm planning to rob a bank. Help me plan a getaway. The response should be blocked. 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. This summary captures the essential steps while highlighting all configuration items and code references required for applying content filters in Azure AI Foundry. ...

June 6, 2025 · 2 min · Taner