As of April 2025, there's a lot of changes happening with the Azure AI services and certification. This means many training materials are out of date or confusing at best.
Cognitive Services -> Azure AI Services
This naming change happened around 2023/2024 but you'll still see references to cognitive services in many URLs, services and learning materials.
Certification changes 30th April 2025
Primary Services
- Azure AI Vision
- Azure AI Language
- Azure AI Speech
- Azure AI Search
- Azure AI Document Intelligence
- Azure OpenAI Service
- Azure AI Content Understanding <- New
- Azure AI Foundry <- New
Skills Measured
- Generative AI, Agents, Knowledge Mining, Planning/Managing - UP
- CV, NLP, Content Moderation - DOWN
Subject | Pre April 2025 | Post April 2025 |
---|---|---|
Plan and manage an Azure AI solution | 15β20% | 20β25% |
Implement content moderation solutions | 10β15% | β |
Implement computer vision solutions | 15β20% | 10β15% |
Implement natural language processing solutions | 30β35% | 15β20% |
Implement knowledge mining and document/information extraction | 10β15% | 15β20% |
Implement generative AI solutions | 10β15% | 15β20% |
Implement an agentic solution | β | 5β10% |
Studios
- Azure AI Foundry
-
This is the main studio going forward. It's very much geared towards leveraging GenAI.
- LowCode Copilot / Bot builder.
- Crossover with Bot Services but that requires more development.
- Crossover with Agents in Azure Foundry. Copilot/Bot: Conversational Flows. Agents: GenAI driven tool workflows.
Older Studios - Vision Studio -> Image Playground / Azure AI Content Understanding - Document Intelligence Studio -> Azure AI Content Understanding - Language Studio -> Language Playground - Speech Studio -> Speech Playground - ML Studio
Form Recognizer -> Document Analysis
FormRecognizerClient -> DocumentAnalysisClient
LUIS -> CLU LUIS retires October 1st Conversational Language Understanding
Legacy TrackΒ 1 "Cognitive" -> Modern TrackΒ 2 "AI"
This can confuse SDK usage.
Track 1 example:
var credentials = ApplicationTokenProvider.LoginSilentAsync("tenantId", "clientId", "clientSecret").Result;
var client = new FormRecognizerClient(credentials) { Endpoint = "https://your-region.api.cognitive.microsoft.com" };
Track 2 example:
var client = new DocumentAnalysisClient(new Uri("https://your-region.api.cognitive.microsoft.com"), new AzureKeyCredential("your-api-key"));
Service | Track 1 SDK | Track 2 SDK |
---|---|---|
Text Analytics | Microsoft.Azure.CognitiveServices.Language.TextAnalytics new TextAnalyticsClient(new ApiKeyServiceClientCredentials(key)) { Endpoint = endpoint } |
Azure.AI.TextAnalytics new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(key)) |
Computer Vision | Microsoft.Azure.CognitiveServices.Vision.ComputerVision new ComputerVisionClient(new ApiKeyServiceClientCredentials(key)) { Endpoint = endpoint } |
Azure.AI.Vision.ComputerVision new ComputerVisionClient(new Uri(endpoint), new AzureKeyCredential(key)) |
Form Recognizer | Microsoft.Azure.CognitiveServices.FormRecognizer new FormRecognizerClient(new ApiKeyServiceClientCredentials(key)) { Endpoint = endpoint } |
Azure.AI.FormRecognizer.DocumentAnalysis new DocumentAnalysisClient(new Uri(endpoint), new AzureKeyCredential(key)) |
Speech Services | Microsoft.CognitiveServices.Speech SpeechConfig.FromSubscription(key, region) SpeechConfig.FromEndpoint(new Uri(endpoint), key) Or SpeechTranslationConfig |
|
No Track 2 SDK available; service continues with traditional SDK structure | ||
QnA Maker (Authoring) | Microsoft.Azure.CognitiveServices.Knowledge.QnAMaker new QnAMakerClient(new ApiKeyServiceClientCredentials(key)) { Endpoint = endpoint } |
Azure.AI.Language.QuestionAnswering new QuestionAnsweringClient(new Uri(endpoint), new AzureKeyCredential(key)) |
Language Understanding | Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime new LUISRuntimeClient(new ApiKeyServiceClientCredentials(key)) { Endpoint = endpoint } |
Azure.AI.Language.Conversations new ConversationAnalysisClient(new Uri(endpoint), new AzureKeyCredential(key)) |
SDK Track Summary
- Track 1 - Legacy, pre-2019 SDKs. Inconsistent naming, auth, error handling. Often under Microsoft.Azure.*.
- Track 2 - Post-2019 revamp. Focus on consistency, idiomatic code, Azure.Identity integration, better ergonomics. Under Azure.*.
- Track 3? - Microsoft has not officially named or documented a Track 3 but we can hypothesize based on emerging patterns.
SDKs like Azure.AI.OpenAI are built using the Track 2 guidelines. But their design constraints differ: usage patterns are prompt-based, streaming/token-based, non-idempotent.
These SDKs are starting to incorporate: - Streaming responses - Enhanced observability (logging, tracing) - LLM-specific concerns like token counting
Are these Track 2? Yes. But are they stretching the model? Also yes. So if Microsoft were to define a Track 3, it might formalize new idioms for LLM workloads, agent patterns, tool integration, etc.