Develop AI solutions in Azure AI-102
Source: My personal notes from Course AI-102T00-A: Develop AI solutions in Azure - Microsoft Learn
Course covers building solutions with generative AI, agents, natural language, computer vision, and information extraction using Azure AI services.
Introduction
Section titled “Introduction”Tips on Taking the Course
Section titled “Tips on Taking the Course”- Review the certification and its course material to check it suits you. Review the study guide for all topics the certification covers.
- Use of course material on Microsoft Learn like exercises, module assessments
- Create a study group, for example with other Python developers
- Search on Microsoft Learn on topics that interest you for other learning content or do a web search with Azure AI plus the specific topic
-
Certifications
Organizations where people do training and certification first before using something do best to understand good practices and know what areas you can improve during training.
- Take the practice assessment
- Go through the study guide. Questions will come from topics in the guide.
Course Modules
Section titled “Course Modules”- Develop generative AI apps in Azure - Generative AI in Azure AI Solutions
- Develop AI agents on Azure - Agents in Azure AI Solutions
Former Cognitive Services
Section titled “Former Cognitive Services”- Develop natural language and Natural Language Processing (NLP) solutions in Azure - Natural Language and Natural Language Processing (NLP) in Azure AI Solutions
- Develop computer vision solutions in Azure - Computer Vision in Azure AI solutions
- Develop AI information extraction solutions in Azure - Information Extraction in Azure AI Solutions
About Former Cognitive Services
Section titled “About Former Cognitive Services”Natural language, computer vision, and information extraction existed before large language models. They use models from machine learning to process information and can be trained with custom data. Their models are smaller than LLMs. They are best used for specific use cases that they solve due to their greater accuracy and lower cost compared to LLMs, but costs depend on use. In Azure, they were formerly called Azure Cognitive AI Services.
Depending on the need, generative AI and agents or cognitive services are more suitable or combined to provide good user experience with possibility for extending functionality.
Deployment options include AI Foundry, Azure AI Services or a specific cognitive services resource.
On Premise and Local Azure AI
Section titled “On Premise and Local Azure AI”See Use Azure AI containers on-premises - Azure AI services | Microsoft Learn for ability to run containers on premise and locally. Not all Azure AI services are available, but many are available.
User --> Container with Azure AI services hosted on premiseContainer on premise --> Azure via Internet for billing usageDevOps with Azure AI
Section titled “DevOps with Azure AI”Q: What is guidance on implementing a CI/CD process in Azure Foundry for AI projects that include applications, Agents, and LLMs? Looking for practices on:
- Environment separation: How to effectively separate development, user acceptance testing (UAT), and production environments
- Roles and responsibilities: Recommended responsibilities for developers, operations teams, and business users
- Security considerations: Key security practices for each role, especially in the context of handling sensitive AI components and data
- Resources
Environments Management
Section titled “Environments Management”Example Azure environment with more details in Dev/Test Subscription. Environments are deployed like dev/test subscription. Besides dev/test, good practice is the environments are managed with Infrastructure as Code (IAC)
@startumltitle DevOps with Azure AI resources
rectangle "Dev/Test Subscription" as devsub {
card "Virtual Machine 1" as vm1 { component app [ Application ] } card "AI Foundry" as aifoundry1 { card "Hub" as hub1 { card "AI Project" as aiproject1 { component endpoint1 [ Endpoint for Deployed model ] } } }
}
rectangle "QA Subscription" as qasub {
card "Virtual Machine 2" as vm2 { component app [ Application ] }
card "AI Foundry" as aifoundry2}
rectangle "Production Subscription" as prodsub {
card "Virtual Machine 3" as vm3 { component app [ Application ] } card "AI Foundry" as aifoundry3}
rectangle "Azure shared resources" as azureshared {
card "OpenAI services in region 1" as aiserviceregion1 { [gpt-4o 1] }
card "OpenAI services in region 2" as aiserviceregion2 { [gpt-4o 2] }
}
Developers -down-> devsub : changes, deployments with DevOpsDevelopers -down-> qasub : access, test deployments with DevOps"QA Users" -right-> qasub : testingendpoint1 --> aiserviceregion1 : LLMs are hosted external to a user subscription"IAC, DevOps" -up-> devsub : manage resources"IAC, DevOps" -up-> qasub: manage resources"IAC, DevOps" -up-> prodsub : manage resourcesVarious tools can be used like Azure DevOps, GitLab, Jenkins pipelines and Terraform which translates to Microsoft ARM deployment templates. AI Foundry resources like hub, projects, and endpoints can be created and managed using those DevOps tools.
When adding or modifying things like endpoints, agents and other resources inside projects are additional asset managed by IAC.
Additional assets may include: monitoring, storage accounts.
Roles and Responsibilities, Security
Section titled “Roles and Responsibilities, Security”In AI Foundry, there are default user roles of Owner, Contributor (like Owner except no security settings) and reader. The role documentation explains use with projects.
When setting up an AI Foundry:
- Restrict the network access for expected use.
- Set people and identities with access
- Encryption: keys for data encryption used can be self or Microsoft managed
SDK and Application Security
Section titled “SDK and Application Security”Q: What is the difference of using keys and Entra authentication as shown in the exercises?
The SDK in the exercises can be called using endpoints and keys or
endpoints with Entra authentication (logged in identity of a user or
application for example using az login). The recommended way is to use
Entra authentication as it is more secure. When development
applications, a recommended way is use Application Registrations which
allow Entra authentication.
Azure AI Monitoring
Section titled “Azure AI Monitoring”Q: What is a good way to monitor model outputs in Azure AI for solutions we build? or set up monitors? for example to troubleshoot user reports of responses that have issues and monitor for safety
Need to balance monitoring responses and avoid capturing sensitive data. Course can use more content on monitoring and governance.
See Monitor your Generative AI Applications - Azure AI Foundry | Microsoft Learn
Azure Portal
Section titled “Azure Portal”In Azure portal, look at monitoring blade for alerts, metrics, diagnostic settings for logging and logs. For example, in diagnostic settings enable Azure OpenAI Request Usage, traces and send it to a Log Analytics workspace.
Microsoft Defender for Cloud: look at vulnerabilities and resources with potential cyber security improvements. There is a data and AI security blade.
Application Insights
Section titled “Application Insights”Application Insights can capture logs for application solutions.
In diagram below, Application Insights can log browser, web app, and API traffic in each component. All Application Insights logs go to one place for querying.
@startuml
card Browser [User on browser]
card WebApp [Web application with Application Insightsalso monitors browser interactions]
card API_1 [API 1 with Application Insights]
card API_2 [API 2 with Application Insights]
Browser --> WebAppAPI_2 --> DatabaseAPI_1 --> AI_FoundryWebApp --> API_1WebApp --> API_2
@endumlAI Foundry
Section titled “AI Foundry”In Azure AI Foundry, the Observe and optimize > Monitoring blade shows a dashboard for resource usage like Total requests, token use. The Observe and optimize > Tracing blade integrates with Application Insights.
In Protect and Govern blade, use:
- Guardrails + controls for filtering and monitoring content
- Governance with Purview for information protection, audit, recommended settings
In prompts, you could add for users to report responses.
See Also
Section titled “See Also”Resources
Section titled “Resources”- Course AI-102T00-A: Develop AI solutions in Azure - Microsoft Learn
- Labs:
- Exercises for Develop generative AI solutions in Azure
- Exercises for Develop AI Agents in Azure
- Exercises for Azure AI Language Exercises
- Exercises for Develop vision solutions in Azure
- Exercises for Develop AI-powered information extraction solutions in Azure
- Advanced Labs on Microsoft Learn for AI Engineer - Applied Skills
- Microsoft Certified: Azure AI Engineer Associate
- Study guide for Exam AI-102: Designing and Implementing a Microsoft Azure AI Solution | Microsoft Learn
- Use the Azure libraries (SDK) for Python - Python on Azure | Microsoft Learn
-
Videos
- Microsoft Instructor led training for AI-102 - note for more recent content, see Microsoft Learn content material
- AI-102 Study Cram - Azure AI Engineer Associate Certification - John Savill on YouTube
-
Exercise Repositories
- GitHub - MicrosoftLearning/mslearn-ai-agents: This repo contains instructions and assets for building agents on Azure
- GitHub - MicrosoftLearning/mslearn-ai-document-intelligence: Lab files for Azure AI Document Intelligence modules
- GitHub - MicrosoftLearning/mslearn-ai-information-extraction: Lab exercises on AI-powered information extraction
- GitHub - MicrosoftLearning/mslearn-ai-language: Lab files for Azure AI Language modules
- GitHub - MicrosoftLearning/mslearn-ai-studio: Practical exercises for Azure AI Foundry training
- GitHub - MicrosoftLearning/mslearn-ai-vision: Lab files for Azure AI Vision modules