Taswar Bhatti
The synonyms of software simplicity

Every time Microsoft ships a new model into Foundry, I ask myself the same boring-but-important question: does this change anything for the way I actually write code? Most of the time the answer is “cool demo, doesn’t affect my day job.” This time it’s different.

MAI-Thinking-1 — Microsoft’s first reasoning model — just went into public preview in Microsoft Foundry. It’s not a chat model with a “think harder” flag bolted on. It’s built from the ground up for multi-step reasoning: the kind of work where the model has to plan, reconsider, call tools, and stitch together a long chain of context before it gives you an answer worth trusting.

If you’ve read anything else I’ve written, you know where this is going: no Python required, no notebook gymnastics, just Microsoft.Extensions.AI and a dotnet run.

What MAI-Thinking-1 Actually Is

A few things worth knowing before you touch any code:

  • Mixture-of-Experts (MoE) architecture. Instead of activating the entire model for every request, it only activates the parts it needs. Translation for us: you get reasoning depth without paying full-model compute cost on every call.
  • Trained from scratch, no distillation. Microsoft trained it on clean data rather than distilling from a third-party model — worth knowing if procurement ever asks “where did this model come from.”
  • Competitive on SWE-Bench Pro at a lower price point than other models in its weight class. Translation: it’s genuinely usable for coding-adjacent agent workloads, not just benchmark bragging rights.
  • Pricing: $2 per 1M input tokens, $8 per 1M output tokens through the Foundry Model Catalog. Cheap enough that “always-on reasoning agent” stops being a scary line item.

None of that matters if you can’t get it working in fifteen minutes, so let’s do that.

Why This Matters for .NET Developers Specifically

Most “reasoning model” content is written for people gluing together Python scripts and LangChain. That’s not how most of us ship software. If you’re building:

  • Agents that call tools — CRM lookups, ERP queries, ticketing systems — and need to reason across the results before responding
  • Long-document analysis — contracts, filings, transcripts — where the model needs to hold context and reason step-by-step instead of pattern-matching a summary
  • Decision-support features — root-cause analysis, recommendation generation, anything where “just guess the most likely next token” isn’t good enough

MAI-Thinking-1 is aimed squarely at you, and it slots into the same IChatClient interface you’re already using for GPT-4o or any other Foundry model. Swapping models is a config change, not a rewrite.

Getting Started: The Boring Setup Part

Deploy MAI-Thinking-1 from the Foundry Model Catalog to your Foundry project, same as you would any other model. Grab your endpoint and deployment name.

A Multi-Step Reasoning Example

Here’s the thing about reasoning models: the interesting part isn’t a single prompt/response, it’s giving the model something that actually requires reasoning across steps. Let’s build a small “contract risk triage” service — the kind of long-document, multi-step reasoning task MAI-Thinking-1 is designed for.

Notice what’s not here: no special “reasoning mode” flag, no separate SDK, no different message format. It’s the exact same IChatClient call you’d make against any Foundry model. The reasoning happens because of how the model was built, not because of extra plumbing you have to write.

Sample output

Tool-Augmented Reasoning (The Agentic Part)

The use case Microsoft calls out explicitly — connecting to CRM, ERP, and ticketing systems through native tool calling — is where reasoning models earn their keep. A non-reasoning model will happily call a tool with garbage arguments and move on. A reasoning model is far more likely to check its own work before it commits to a tool call.

Here’s a minimal tool-calling setup using Microsoft.Extensions.AI‘s function tools:

The model decides whether it needs to call GetTicketStatus based on its own reasoning about the request — not because you hardcoded “if the user mentions a ticket ID, call the tool.” That’s the actual value proposition here: less prompt-engineering gymnastics to force sensible tool use.

Output

Where This Fits (and Where It Doesn’t)

Be honest with yourself about when you need this:

Reach for MAI-Thinking-1 when:

  • The task genuinely requires multi-step reasoning — plan → check → revise → answer
  • You’re processing long documents where a shallow summary isn’t good enough
  • Your agent needs to reason about whether and how to call a tool, not just execute a fixed script

Don’t reach for it when:

  • You need a fast autocomplete-style response (use a smaller/cheaper model — reasoning models trade latency for depth)
  • The task is simple classification or extraction with no ambiguity to reason through
  • You’re cost-sensitive on high-volume, low-complexity calls — the MoE efficiency helps, but it’s still priced above a lightweight model

Structured output, defensive parsing, and resilience patterns all still apply here exactly like they do with any other Foundry model — if you’ve read the earlier chapters on that, nothing changes; you’re not throwing away any of the patterns you already have.

Wrapping Up

MAI-Thinking-1 is Microsoft’s first real swing at a reasoning model, and the fact that it drops straight into the same IChatClient abstraction as every other Foundry model is, frankly, the best part. No new SDK to learn, no separate reasoning-specific message format — just a model that’s better at the multi-step, tool-calling, long-context work that “just answer the prompt” models tend to fumble.

If you’ve been holding off on agentic workloads because the reasoning quality wasn’t there yet, this is worth a real evaluation — not just a demo.

Source code can be found at : https://github.com/taswar/MaiThinkingDemo


Building AI features in C#? I write about practical, no-hype prompt engineering and Azure AI patterns for .NET developers. Check out Prompt Engineering for .NET Developers — free, no Python required. Also subscibe to my mailing for latest blogs, tips and tricks I share.

Azure 5 Highlights Thursday

Published: 2026-08-06

This is the bonus content for the #119 edition of 5 Highlights Thursday – 7 highlights this week instead of 5. If you haven’t seen the main newsletter yet, check it out on LinkedIn.

1. QDK Tutorial: Learn Quantum Computing with GitHub Copilot in VS Code

A quick, hands-on look at the Quantum Development Kit (QDK) tutorial experience in VS Code, paired with GitHub Copilot to help you get oriented with quantum computing concepts and code faster. Good starting point if quantum has been on your “someday” learning list.

2. Azure Files: Simple, Secure, Cloud and AI Ready File Storage

A rundown of Azure Files as a simple, secure, cloud- and AI-ready file storage option — positioning it as the go-to for teams that need managed file shares without giving up the identity and governance controls (Microsoft Entra ID, FSLogix profile support) they already rely on.

3. Where Does AI Actually Add Value in This Build, and Where Is It Just Hype?

A short, blunt take separating real AI value from hype in a recent build — worth a minute if you want a grounded gut-check before you bolt AI onto your next project.

4. Microsoft Defender for Office 365 | Zero to Hero

A look at how Microsoft Defender’ enable key protections such as preset security policies, Safe Attachments, priority account protection, user reporting, and automated investigation and response (AIR), while explaining how these features strengthen an organization’s defense against email threats.

5. From Partners for Partners: Simplifying Customer Onboarding with Microsoft Defender

Partner-focused guidance on simplifying customer onboarding with Microsoft Defender — practical if you’re a partner or MSP looking to streamline how you bring new customers onto Defender.

6. How AMD and Azure Push the Boundaries of Compute

A look at the AMD and Azure partnership pushing the boundaries of compute — relevant if you’re evaluating VM SKUs or curious how silicon-level partnerships are shaping what’s available in Azure’s compute catalog.

7. How Does Using Real Pricing (Not Estimates) Change How You Architect an App?

A quick take on how designing with real Azure pricing — instead of rough estimates — changes architectural decisions early in a build. A good reminder to check the pricing calculator before you commit to a design.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Download my Free Ebook Prompt Engineering for .NET Developers.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe on LinkedIn

Have a wonderful Thursday 😉

Taswar

Azure 5 Highlights Thursday

Here is the Bonus #118 edition of 5 Highlights Thursday — a bit of a bonus edition this week with 7 highlights instead of 5. I hope this newsletter will help you in your Azure journey and keep you informed. Feel free to forward this along to anyone who you think may enjoy or better ask them to subscribe.

1. TypeScript 7 Is Here (And It’s 10× Faster)

TypeScript 7 has landed, and it’s a big one — a native, Go-based compiler rewrite delivers roughly 10x faster compilation, alongside new language features and some breaking changes from v6. If you or your team live in the TypeScript ecosystem, this is worth 10 minutes of your time to understand what changes before you upgrade.

2. What’s New in SQL MCP Server 2.0

SQL MCP Server 2.0 brings new capabilities that let AI agents and Copilot interact directly with your SQL Server data through the Model Context Protocol. If you’re building agentic apps on top of SQL, this positions MCP as the standard interface for agent-to-data access — worth watching if you care about Azure SQL and agent tooling.

3. Introducing Project Perception: The Next Evolution of Agentic Security

Microsoft’s official intro to Project Perception — the next generation of agentic security that uses AI agents to proactively detect and respond to threats before they materialize. This is part of a coordinated security push (see #4 below) and is directly relevant if you’re thinking about AI security governance.

4. How Nationwide Stays Ahead of Attackers with Project Perception

A real customer story: Nationwide (the insurance company) shares how they’re using Project Perception for proactive threat intelligence — staying ahead of attackers before incidents occur rather than just reacting after the fact. Good pairing with #3 if you want the product story plus the real-world proof point.

5. Inside Codename MDASH: Built to Protect

A behind-the-scenes look at Codename MDASH — a new Microsoft Defender capability built specifically to protect AI workloads, agents, and agentic systems from emerging threats. Released the same day as Project Perception, this rounds out Microsoft’s coordinated AI security announcement.

6. Data Streaming for Modern Applications in SQL Server 2025, Azure SQL, and Fabric SQL

Data Exposed walks through data streaming patterns across SQL Server 2025, Azure SQL, and Fabric SQL — useful if you’re architecting real-time data pipelines and want one consistent streaming story across on-prem, cloud, and Fabric.

7. Build Microsoft Foundry Agents with the New AI Gateway Tier of API Management

API Management’s new AI Gateway tier gives you governance, rate limiting, and observability in front of Microsoft Foundry agents — worth a look if you’re running agentic workloads in production and need enterprise-grade traffic control in front of them.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe to my newsletter

Have a wonderful Thursday 🙂

Taswar

MAI-Voice-2 Flash for .NET Developers

Every voice application I’ve ever built or reviewed has the same problem: latency. The model can sound as natural as you want, but if there’s a full second of dead air between the user finishing a sentence and the assistant responding, the whole thing feels broken. Users notice a pause before they notice voice quality.

Microsoft AI just shipped MAI-Voice-2 Flash, a text-to-speech model built specifically to fix that. It’s the low-latency sibling of MAI-Voice-2, now available through Azure Speech — not a separate SDK, not a new service to learn, just a new voice option inside the Speech service you may already be using.

Same day, Microsoft also shipped MAI-Image-2.5 Pro for high-fidelity image generation (I covered that one in a separate post if you’re building creative/image pipelines). This post is about the voice model, because if you’re building call center agents, IVR systems, or conversational assistants in .NET, this is the one that actually changes your architecture.


What MAI-Voice-2 Flash Actually Does

It’s a text-to-speech model, tuned for one specific tradeoff: speed over voice customization.

  • 2x faster than MAI-Voice-2, same natural voice quality
  • 32% more cost-efficient
  • 15+ languages supported — English (US/AU), Italian, Spanish (Mexico/Spain), Hindi, French, German, Portuguese (Brazil/Portugal), Korean, Chinese (Simplified), Turkish, Russian, Thai, Dutch, Romanian, Hungarian
  • Voice cloning from 5–60 second audio prompts — natural, conversational delivery with moderate energy gives the best results
  • SSML support for voice selection and pacing — see the SSML section below for what actually works today

MAI-Voice-2 Flash vs. MAI-Voice-2 — Which One Do You Actually Want?

Microsoft’s own guidance on this is refreshingly direct: it comes down to voice identity vs. responsiveness.

Choose MAI-Voice-2 Flash when:
– Low latency is the primary requirement
– You’re building conversational assistants, IVR systems, or call center experiences
– Users expect an immediate spoken response as part of a live interaction
– Cost efficiency matters as much as responsiveness

Choose MAI-Voice-2 instead when voice identity and higher-fidelity output matter more than raw speed — think narration, media production, or anything not happening in a live back-and-forth.

If your use case involves a human waiting on the other end of a phone call or a chat window, you want Flash.


Where This Fits — Real Use Cases

Microsoft calls out three scenarios, and all three map to things I’ve seen teams either build badly or avoid building entirely because of latency:

Call center agents. Spoken responses generated in real time, minimizing the delay between conversation turns. This is the difference between an AI agent that sounds like it’s thinking and one that sounds like it’s stalling.

Conversational voice assistants. Copilots and intelligent applications that respond nearly instantly — the fluid, interactive feel instead of the stilted turn-based one.

Modern IVR systems. Dynamic, context-aware phone experiences that respond to what the caller actually says instead of routing through a rigid menu tree.

If you’re maintaining a legacy IVR system held together with pre-recorded prompts and DTMF menus, or a support bot that has a noticeable pause before every response — this is worth a pilot.


Pricing

MAI-Voice-2 Flash pricing starts at $15 per 1M characters. For comparison, MAI-Image-2.5 Pro (the image model announced alongside it) starts at $5 per 1M input tokens and $106 per 1M output tokens — a completely different pricing shape, since one generates images and the other generates audio from text.

For a call center handling, say, 200-character average responses across 10,000 calls a day, that’s roughly 2M characters/day — a genuinely calculable cost before you commit to an architecture.


Setting Up Azure Speech — Full Instructions

Since MAI-Voice-2 Flash ships through Azure Speech rather than a standalone endpoint, you set it up exactly like any other Speech resource. Here’s the complete path from zero to a working API key.

Step 1: Create a Speech Resource in Azure

  1. Go to the Azure Portal
  2. Click Create a resource
  3. Search for Speech service (or Azure AI Foundry if you want the unified Foundry resource — both work for this)
  4. Click Create
  5. Fill in:
    Subscription — your Azure subscription
    Resource group — create new or use existing
    Region — pick a region that supports MAI-Voice-2 Flash (check the model catalog page for current regional availability — this is in public preview and region support is still expanding)
    Name — something like my-speech-resource
    Pricing tier — Standard (S0) for production use
  6. Click Review + Create, then Create

Step 2: Get Your Key and Region

  1. Once deployed, go to your Speech resource
  2. Click Keys and Endpoint in the left sidebar
  3. Copy KEY 1 and note your Region (e.g., eastus)

Step 3: Store Secrets Properly

Don’t hardcode the key. Use user-secrets for local development:

Step 4: Install the Speech SDK


Let’s Actually Call It from C#

Here’s a working console app that synthesizes speech using the Azure Speech SDK, configured for low-latency real-time output — the pattern you’d actually use for a conversational assistant.

Program.cs — Basic Synthesis

Sample code located at https://github.com/taswar/Mai-Voice-2-Flash-Sample

Expected Output

You should hear the response with noticeably less delay than a standard-tier voice model — that’s the “2x faster” claim showing up as an actual user experience difference, not just a benchmark number.


Streaming to a Web API Response (Real-Time Use Case)

For an actual call center or assistant integration, you’re not playing audio through a speaker — you’re streaming bytes back to a caller or a browser. Here’s the pattern for an ASP.NET Core minimal API endpoint that returns synthesized speech as a stream:

Call it with:

That is the shape of the endpoint sitting behind a real call center agent or IVR system — take text, return audio, keep the round trip fast.


Using SSML for Turn-Level Control — What Actually Works

Microsoft’s own materials describe MAI-Voice-2 Flash as supporting “turn-level control over tone, delivery, and emotion.” The obvious first move for anyone who’s used Azure Speech before is to reach for the classic mstts:express-as element — the same one you’d use with a standard Neural voice to say “make this line sound cheerful” or “empathetic.”

I tried it. It doesn’t work.

Here’s the SSML I first attempted, styled the same way you’d write it for any legacy Neural voice:

So what does “turn-level control over tone, delivery, and emotion” actually mean today? As of this public preview, it’s unclear. It may be a plain-text delivery cue baked into the prompt, or an MAI-specific SSML extension that isn’t documented yet. I could not find a combination that worked, and I’d treat that marketing line as aspirational until Microsoft publishes the actual mechanism.

What Does Work: Plain SSML for Voice, Pacing, and Pauses

Strip out express-as entirely and SSML still earns its place — you get voice selection, break for natural pauses, and prosody control, all of which the service accepts without complaint:

No emotion tags, no style attribute — just the voice name and a deliberate pause between the apology and the resolution. That pause alone does more for how “human” the response feels than most developers expect. It’s a smaller toolkit than advertised, but it’s a toolkit that actually ships a ResultReason.SynthesizingAudioCompleted instead of a canceled request.

Same Pattern in Turkish

MAI-Voice-2 Flash’s multilingual support means the same working SSML structure carries across languages — change xml:lang, the voice name, and the text:

Translation for reference: “I’m sorry to hear your order arrived damaged. I’m starting a return right away — it will just take a few seconds.”

This is the actual payoff of a multilingual low-latency voice model for a call center: one codebase, one SpeakSsmlAsync call, and the only thing that changes per market is the xml:lang, the voice name, and the translated text. You’re not maintaining a separate TTS integration per region.

📝 Note: Voice names and available express-as styles for MAI-Voice-2 Flash are still being finalized during public preview. Check the Foundry model catalog or Speech Studio’s voice gallery for the exact identifiers available in your region — including Turkish — before shipping this to production.


Why Run It Through Azure Speech (Not a Separate Vendor)

If you’re already using Azure Speech for any part of your stack, this is close to a zero-integration-cost upgrade:

  • Same SDK, same auth pattern — no new NuGet package beyond what you likely already have
  • Enterprise reliability and scale — the infrastructure Azure Speech already runs on
  • Same Responsible AI and governance guardrails as the rest of Foundry
  • Regional deployment options to keep voice data processing where compliance requires it

For teams already invested in Azure Speech for STT or existing TTS voices, swapping in MAI-Voice-2 Flash for your latency-sensitive scenarios is a configuration change, not a rewrite.


Final Thoughts

MAI-Voice-2 Flash is a narrow, well-aimed release. It’s not trying to be the most expressive or highest-fidelity voice model Microsoft ships — that’s what MAI-Voice-2 is for. It’s optimized for the one metric that actually breaks real-time voice experiences: the gap between “user stops talking” and “assistant starts responding.”

If you’re building or maintaining call center agents, IVR systems, or conversational assistants, and users have ever complained about the pause before the response — this is worth a pilot. Point it at your existing Azure Speech integration, swap the voice name, and measure the round-trip time yourself.

If your team already runs on Azure Speech and just wants faster responses without switching vendors, this is one worth wiring in this week. 🙂


Resources

MAI-Image-2.5 Pro for .NET Developers

Every time a new image model ships, my first question isn’t “how pretty are the demo images.” It’s “can I actually put this in a pipeline and get consistent, controllable output.” Most image models are great at one beautiful hero shot and terrible at the boring part — generating twelve consistent product variants, or fixing one object in an image without regenerating the whole thing.

Microsoft AI just shipped MAI-Image-2.5 Pro, now available in public preview in Microsoft Foundry as an Azure Direct Model. It’s Microsoft’s own image generation and image-editing model — not a third-party model hosted in the catalog, but one built in-house by Microsoft AI.

That is worth pausing on. Alongside it, MAI-Voice-2 Flash also shipped for real-time voice through Azure Speech. This post is about the image model (I will cover MAI-Voice-2 Flash in another post), because that is the one .NET developers building content pipelines, e-commerce catalogs, or design tools will actually reach for first.


What MAI-Image-2.5 Pro Actually Does

It’s a diffusion-based text-to-image and image-to-image model. Two capabilities matter more than the others:

  • Generation — natural language prompt in, high-fidelity image out
  • Precise editing — targeted object edits, layout changes, text updates, and cleanup of artifacts like motion blur, all while preserving visual consistency across iterations

That second bullet is the interesting one. “Precise, surgical edits with consistency” is the phrase Microsoft uses, and it’s the right framing. A lot of image models will happily regenerate an entire scene when you ask for one small change — swap the color of a shirt and the model quietly redraws the face too. MAI-Image-2.5 Pro is positioned specifically to avoid that.

Why It Matters

  • Professional creative quality — stronger object consistency, more accurate text rendering (a famously hard problem for diffusion models), closer alignment to what you actually asked for, and better visual/world reasoning
  • More model choice in Foundry — you can now pick a purpose-built Microsoft model for creative workflows alongside the rest of the Foundry catalog, the same way you’d pick Kimi K2.7 Code for coding tasks or Cohere Command A+ for enterprise agents
  • Enterprise-ready foundations — backed by Microsoft’s safety and Responsible AI practices, running on Azure infrastructure for reliability, scale, and governance

Honestly, that last point is the one enterprises actually care about. A lot of image models are impressive right up until legal asks about content provenance and data handling.


Where This Fits — Real Use Cases

Microsoft calls out two buckets, and both map to real backlog items I’ve seen teams carry for months:

Campaigns and product content. Consistent hero assets, social media variants, retail signage, digital ads, product photography, e-commerce catalogs. The “consistency across iterations” capability is exactly what you need when you’re generating fifteen size/color variants of the same product shot and they all need to look like the same product line.

Storyboarding and regulated-industry visuals. Consistent scenes, characters, and concepts with stronger real-world accuracy — relevant for creative production, but also healthcare, financial services, and manufacturing, where “close enough” visual accuracy isn’t good enough.

If your team maintains a product catalog, a marketing asset pipeline, or anything that currently involves a human manually generating fifty variants of one image in Photoshop — this is worth a pilot.


Let’s Actually Call It from C#

Source code can be found at https://github.com/taswar/MAI-Image-2.5-Pro-Sample

Prerequisites

Set your environment variables:

Program.cs — Generate a Product Image

Editing an Existing Image — Targeted, Not a Full Regeneration

This is the part that matters more than pure generation. Here’s how you make one precise change to an existing product shot — swap the bottle color without touching the background, lighting, or shadow:

Expected Output

Two files. Same lighting, same shadow, same camera angle. One bottle color changed. That is the workflow you’d wire into a service that generates every SKU variant overnight instead of a designer doing it by hand.

📝 Note: The exact SDK surface for Foundry image models is still settling as this model is in public preview — check the Foundry Model Catalog page for the current API reference before you wire this into production. The calling pattern above follows the standard Http Client image generation shape; MAI-Image models aren’t compatible with the Azure.AI.OpenAI SDK’s ImageClient — they require the raw REST call. Do confirmed against the latest docs, since things change very fast.


Why Run It Through Microsoft Foundry

Same reasoning as every other model I’ve covered in this series — Kimi K2.7 Code, Cohere Command A+ — but with one extra point specific to this model:

  • It’s a first-party Microsoft model. Support, roadmap, and Responsible AI documentation come from the same team building the platform you’re deploying on.
  • Entra ID auth — no separate API key management for yet another vendor.
  • Governance and safety tooling built into the platform, which matters more for image generation than most other model types — content policy and provenance questions come up fast in creative workflows.
  • Side-by-side evaluation against other Foundry models if you’re also experimenting with other image generation options.

Final Thoughts

MAI-Image-2.5 Pro is Microsoft betting on its own first-party model for a category — image generation — that has mostly been third-party territory in Foundry until now. The pitch isn’t “prettiest demo image.” It’s “precise edits with consistency,” which is the actual bottleneck for anyone trying to move image generation from a design toy into a production content pipeline.

If your team maintains product catalogs, marketing assets, or storyboards and you’re currently paying a human to manually generate every size and color variant — this is worth a pilot. Start with the generate-then-edit pattern above, point it at a real product shot, and see how many variants you can produce in a loop before lunch.


Resources


Azure 5 Highlights Thursday

Published: 2026-07-23
Source: https://www.linkedin.com/pulse/5-highlights-thursday-23rd-july-2026-117-edition-taswar-bhatti-s6rkf

Hope everyone is enjoying some summer break and here is the #117 edition of 5 Highlights Thursday. I hope this newsletter will help you in your Azure journey and keep you informed. Feel free to forward this along to anyone who you think may enjoy or better ask them to subscribe.

1. Free Book – Prompt Engineering for .NET Developers

Excited to share something I’ve been working on…After many late nights of writing, testing, and refining, I’ve finished my FREE ebook: Prompt Engineering for .NET Developers. You can read the entire book from leanpub or from my github repo. taswar/PromptEngineeringForDotNetDevelopers: A free ebook for .NET developers building real AI-powered apps in C# — no Python, no hype.

2. Build Agents you Can Trust on Windows

Through live demos, you’ll see how agents identify available capabilities, plan and take meaningful actions, and how Windows layers permission scoping, inspection, developer tool capabilities, and rollback to keep developers in control.

3. Claude Opus 4 + RAG: Build an AI App with Embeddings & Knowledge Graphs

In this episode, host Justin Garrett sits down with Microsoft MVP Michael Washington to explore how he built AI Story Builders—an open-source (MIT) app that uses structured story data, embeddings, and Retrieval Augmented Generation (RAG) to help authors write coherent, consistent fiction.

4. Work IQ: Tooling with MCP & CLI

Jared Spataro, CVP of AI Solutions opens this episode of Work IQ by explaining how Work IQ MCP tools enable agents to safely consume and act on Microsoft 365 workloads. Paolo Pialorsi
, Sr Cloud Advocate, then demonstrates using MCPs and Copilot CLI to observe, reason over, and take actions across M365 surfaces like files, meetings, and messages, before our visualization expert, Tomomi Imura , brings it all together.

5. Stop Stitching Models Together — Cohere Command A+ Lands in Microsoft Foundry

Embedded content: Stop Stitching Models Together — Cohere Command A+ Lands in Microsoft Foundry – Taswar Bhatti

Here a blog post of mine that talks about Cohere Command A+ with sample code also in github. Read about how to get Cohere Command A+ up and running on Microsoft Foundry.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Download my Free Ebook Prompt Engineering for .NET Developers.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe

Have a wonderful Thursday 😉

Taswar

prompt.engineering.for.dot.net.developers

Most prompt engineering content out there assumes you’re writing Python. Jupyter notebooks, pip install, Conda environments — none of it maps to how most of us actually ship software.

If you’re a .NET developer who wants to build real AI-powered features — not toy demos — into your applications, I wrote a free ebook for exactly that: Prompt Engineering for .NET Developers.

Why I Wrote This

Every prompt engineering tutorial I found was Python-first. Meanwhile, Microsoft.Extensions.AI gives .NET developers a clean, unified abstraction over LLM providers — LM Studio, OpenAI, Azure AI Foundry — using the exact same IChatClient interface. There was no practical, runnable guide to prompt engineering that met C# developers where they already live.

So I built one.

What’s Inside

Seven focused chapters, each ending in a runnable C# project:

  1. The .NET Developer’s AI Landscape — the cost spectrum and Microsoft’s AI stack
  2. Setting Up Your AI Dev Environment — LM Studio, OpenAI, Azure AI Foundry, all via the same interface
  3. How LLMs Work — just enough theory to write better prompts, no transformer lecture
  4. Anatomy of a Great Prompt — you’ll build a fluent PromptBuilder class
  5. Core Prompting Techniques — zero-shot, few-shot, chain-of-thought, and how to handle sycophancy (the silent failure mode where the model just tells you what you want to hear)
  6. Structured Outputs and Advanced Patterns — defensive JSON parsing, streaming, resilience
  7. Prompt Patterns for Real Developer Workflows — you’ll carry PromptBuilder into DevToolkit, a console app that does AI-powered code review, test generation, commit messages, and docs

No Jupyter. No Python. Just dotnet new console and code that runs.

Try It in 5 Minutes

That’s the PromptBuilder fluent class from Chapter 4, running against a local model — zero API cost.

Get It

If you’ve been putting off learning prompt engineering because every guide assumes Python, this is for you. Would love to hear what you build with it — drop a comment or open a GitHub discussion.

Azure 5 Highlights Thursday

Published: 2026-07-16
Source: https://www.linkedin.com/pulse/5-highlights-thursday-16th-july-2026-116-edition-taswar-bhatti-nj6df

Hope everyone is enjoying some summer break and here is the #116 edition of 5 Highlights Thursday. I hope this newsletter will help you in your Azure journey and keep you informed. Feel free to forward this along to anyone who you think may enjoy or better ask them to subscribe.

1. Using GitHub Copilot for Linux performance troubleshooting on Azure

Linux performance troubleshooting on Azure isn’t usually limited by a lack of data — it’s limited by knowing what to investigate next. In this session, Karl Abbott shows how GitHub Copilot can help move from performance signals to answers faster. Using a real Azure Linux VM scenario, he demonstrates how Copilot can diagnose high load, identify CPU saturation, connect signals across CPU, memory, and disk I/O, explain the root cause, apply a fix, and verify recovery. Join Karl Abbott where you’ll see how Copilot acts as a knowledgeable pair partner for Linux performance analysis — choosing diagnostic tools, interpreting output, and making troubleshooting knowledge easier to share across teams.

2. How Sprinklr leverages Microsoft Azure Cobalt 100 VMs for massive scale

See how Sprinklr is transforming customer experience at global scale with Microsoft Azure Cobalt 100 VMs. By modernizing on Arm-based infrastructure, Sprinklr is boosting efficiency, lowering compute costs, and powering real-time insights across billions of customer interactions. Learn how Sprinklr and Microsoft are helping brands understand and serve customers better than ever.

3. Install & Configure the Azure Migrate Appliance: Discovery, Readiness & Business Case

In this tutorial, you’ll learn how to install and configure the Azure Migrate appliance, run discovery of your VMware environment, assess migration readiness, generate a migration business case, and prepare your Azure landing zone.

4. Turning Coding Agents into an Azure Cosmos DB Expert with the Agent Kit

In this Azure Friday episode, Scott Hanselman and Sajeetharan Sinnathurai demonstrate the Azure Cosmos DB Agent Kit — a skill you install with one command that gives your coding agent 100+ Cosmos DB best-practice rules across data modeling, partitioning, query optimization, and SDK usage and much more. Using a multi-agent fitness coaching app as an example, they show how the kit caught a missing partition key filter that was leaking member data across tenants, recommended hierarchical partitioning for multi-tenant scale, and fixed a fan-out query—all before the code shipped to production

5. Kimi K2.7 Code is Now Available in Microsoft Foundry

Embedded content: Kimi K2.7 Code is Now Available in Microsoft Foundry – Taswar Bhatti

Kimi K2 7B Code is now available in Microsoft Foundry, bringing strong code generation and development capabilities into the platform developers already use to build AI-powered applications. In this post, I walk through what Kimi K2 7B Code is, why it matters for developers, and how you can quickly get started experimenting with it in Foundry. If you’re exploring AI-assisted development, coding agents, or the latest open models in the Microsoft ecosystem, this is worth a look.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe on LinkedIn

Have a wonderful Thursday 😉

Taswar

Azure 5 Highlights Thursday

Published: 2026-07-09
Source: https://www.linkedin.com/pulse/5-highlights-thursday-9th-july-2026-115-edition-taswar-bhatti-gwdjf

Hope everyone is enjoying some summer break and here is the #115 edition of 5 Highlights Thursday. I hope this newsletter will help you in your Azure journey and keep you informed. Feel free to forward this along to anyone who you think may enjoy or better ask them to subscribe.

1. Discovering Power App Data with M365 Copilot using MCP | DEM360

With millions of users world-wide, Power Apps and Dataverse now sit atop critical business data, but developers face challenges with discoverability and schema understanding. This session Christine Flora (her/she) introduces Power Apps Model Context Protocol (MCP), which empowers M365 Copilot to access app metadata, Dataverse schemas, relationships, and permissions. Learn how MCP enables Copilot to answer natural-language queries, aggregate data, and deliver real-time insights, plus best practices for Copilot-ready apps.

2. What are AI ‘hallucinations’ and can we fix LLMs so that they don’t happen?

Can we eliminate AI hallucinations? Mark Russinovich explains why large language models make mistakes, what developers can do to reduce them, and why they remain a fundamental limitation of today’s AI systems.

3. Microsoft Defender: Extending critical protection for emerging threats in Team

This episode dives into the attacks targeting Microsoft Teams—phishing, impersonation, malicious calls, and other social engineering techniques used by threat actors today. Dive in as Jeremy Beckley and Malvika Balaraj explain how Defender XDR detections are being developed to help SOC teams gain visibility into these attacks, and recent Microsoft Defender for Office 365 capabilities that help customers protect, detect, investigate, and respond to emerging Teams-based threats.

4. Meet Azure HorizonDB, the new Postgres on Azure

Azure HorizonDB is a new Postgres service on Azure built for scale, availability, and performance across any workload. In this episode of Azure Friday, Scott Hanselman & Charles Feddersen look at how HorizonDB delivers predictable performance with built‑in zone resilience. They also explore new in‑database AI features like AI Model Management and AI Pipelines, and walk through the developer experience in VS Code to build, query, and manage efficiently using AI.

5. Microsoft Dataverse plugin: unleashing coding agents on the enterprise

Coding agents are powerful, but without domain tooling they hallucinate and produce broken solutions. The Dataverse plugin solves this by giving AI agents guardrailed access to tables, columns, relationships, views, security and solutions. See how a natural language request triggers multi-step provisioning, data imports and validation. All executed autonomously. Join Elaiza Benitez , where Kent Weare
shows demos the plugin architecture, MCP server integration and patterns that make agent-driven Dataverse development reliable at scale.


As always, please give me feedback on LinkedIn. Which bullet above is your favorite? What do you want more or less of? Other suggestions? Please let me know.

Last by not least, know someone who might be interested in this newsletter? Share it with them.

Subscribe on LinkedIn

Have a wonderful Thursday 😉

Taswar

Kimi K2.7 Code is Now Available in Microsoft Foundry

Demo code located at https://github.com/taswar/KimiFoundryDemo

There are a lot of AI model announcements these days. But every now and then one lands that feels immediately practical for real engineering work.

Kimi K2.7 Code from Moonshot AI showing up in Microsoft Foundry feels like one of those releases.

Microsoft and Moonshot AI have made Kimi K2.7 Code available in the Foundry model catalog starting July 1, 2026. It is designed for the kind of software engineering that does not happen in a single prompt — multi-file refactors, feature work spanning multiple services, debugging sessions that need to hold context across many steps.

That is a different problem space from “generate a todo app in one shot.” And honestly, that is where most development teams are today.

What Is Kimi K2.7 Code?

Kimi K2.7 Code is a coding-focused model from Moonshot AI. It builds on the K2.6 series with three focused improvements:

  • Long-horizon task execution — carries work across multiple files, tools, and steps
  • Stronger end-to-end task completion — designed to finish tasks, not just generate fragments
  • ~30% fewer thinking tokens vs K2.6 — faster responses, lower cost, more work per context window

The 256K context window is the other number worth noting. Large codebases, long refactoring sessions, multiple files in context at once — that is the use case this model is optimized for.

Benchmark Numbers — The Honest Read

Here is how K2.7 Code stacks up against K2.6 and two frontier models:

Kimi K27 Benchmark

Kimi K27 Benchmark

A few things worth flagging:

The Kimi Code Bench numbers are Moonshot AI’s own benchmark — take those as directional. MCP Mark Verified is human-verified and more credible for independent comparison. On that benchmark, K2.7 Code at 81.1 actually beats Claude Opus 4.8 at 76.4. That is the benchmark most relevant to agentic coding workflows with tool use.

On pure coding tasks (Program Bench, MLS Bench Lite), it sits between GPT-5.5 and Claude Opus 4.8. That is a reasonable position for a model priced at 0.95input/4.00 output per million tokens.

Pricing

At $0.95 input, this sits below GPT-4o-class pricing. For long-running coding tasks that consume a lot of output tokens, $4.00/M output is the number to watch. Cached input at $0.19 helps when you are repeatedly loading the same large codebase context.

  Input / 1M tokens Output / 1M tokens Cached Input
Kimi K2.7 Code $0.95 $4.00 $0.19

Top Use Cases

If you are evaluating this model, here is where it fits:

  • Software engineering agents — multi-step planning, tool use, execution across a full development workflow
  • Repository-scale code understanding — analyze, modernize, or refactor large codebases while keeping context across many files
  • Complex feature implementation — changes that span multiple services, components, and repositories
  • Debugging and root cause analysis — deeper code understanding over multi-step investigation workflows

That is a pretty specific profile. This is not a general-purpose chatbot. It is a model built for developer tooling and autonomous coding agents.


Enough Theory. Let’s Actually Call It from C#

Here is a working .NET console app that calls Kimi K2.7 Code through Azure AI Foundry. I am using the Azure AI Inference SDK and DefaultAzureCredential — no API key hardcoded.

Prerequisites

Set your environment variables:

Program.cs

Expected Output

I am running az login so that I am not using API_KEY

Something like:

That is the kind of output you want from a code review tool — specific, actionable, severity-tagged.

Why Run It in Foundry vs Directly?

If you are already in Azure, Foundry gives you a few things you do not get with a direct Moonshot API key:

  • Enterprise security and compliance — governance, data protection, responsible AI tooling built in
  • Side-by-side evaluation — compare Kimi K2.7 Code against GPT-5.5, Claude Opus 4.8, or any other Foundry model using the same evaluation dataset
  • GitHub Copilot and VS Code integration — native compatibility with the developer tools your team already uses
  • No separate infrastructure — model is already deployed, monitored, and scaled for you

That last point matters more than it sounds. The jump from “I tried this in a notebook” to “this is running in our CI pipeline” is usually infrastructure, not capability. Foundry removes that friction.


Final Thoughts

Kimi K2.7 Code in Microsoft Foundry is interesting for developers because it is not just a benchmark improvement. It is a model positioned for the kind of work that is genuinely hard to automate well: long-running, multi-step, multi-file engineering tasks.

The MCP Mark Verified score beating Claude Opus 4.8 is the number I would keep an eye on as agentic coding workflows mature. If your team is building AI-assisted developer tooling or coding agents, this is one worth evaluating.

If you are already on Azure AI Foundry, the model is in the catalog now. Start with the C# code above, swap in your own endpoint, and run it against a real method from your codebase. That will tell you more than any benchmark.


Resources

UA-4524639-2