Decorating IChatClient Without Tangling the Application

Compose shared chat-client behavior in .NET without moving feature policy into middleware or hiding streaming, caching, and retry costs.

September 30, 2026 · 7 min · Lukas Walter

Graceful Degradation for AI Features

How to keep an AI-enabled product useful when a dependency fails, without hiding reduced capability or returning unsafe substitutes.

September 27, 2026 · 14 min · Lukas Walter

Querying Qdrant from .NET

Turn a question into an embedding, apply payload filters, query Qdrant from .NET, and inspect the ranked results without treating a similarity score as proof of relevance.

September 23, 2026 · 9 min · Lukas Walter

Building the .NET AI App Foundation

A small ASP.NET Core foundation for model access, validated configuration, tracing, buffered and streaming HTTP contracts, and future AI capabilities.

September 20, 2026 · 11 min · Lukas Walter

Indexing Your First Documents

Index documents in Qdrant from .NET with Azure OpenAI or local Ollama embeddings, stable point IDs, useful payloads, and a read-back check.

September 16, 2026 · 12 min · Lukas Walter

What Should You Actually Evaluate?

Choose AI evaluation criteria from the feature contract: answer quality, retrieval, tool effects, safety, reliability, latency, and cost.

September 13, 2026 · 13 min · Lukas Walter

Dependency Injection for AI Components

Register .NET AI clients, tools, prompts, and retrieval services with explicit lifetimes, safe request state, and clear disposal ownership.

September 9, 2026 · 10 min · Lukas Walter

Human Approval as a System Boundary

Design human approval around an exact operation, with reviewable payloads, durable decisions, expiry, and execution checks that survive retries.

September 6, 2026 · 13 min · Lukas Walter

Your First Qdrant Collection

Run Qdrant locally, connect with the official .NET client, and create a collection whose vector size and distance match the embedding model.

September 2, 2026 · 7 min · Lukas Walter

AI Systems Need Runtime Budgets

How to bound time, tokens, retries, tool calls, and estimated cost across a complete AI execution instead of limiting each call in isolation.

August 30, 2026 · 13 min · Lukas Walter