RAG with EF Core and pgvector

How to build RAG retrieval in .NET by storing embeddings in PostgreSQL with pgvector and querying them through EF Core.

May 2, 2026 · 6 min · Lukas Walter

Dynamic Agent Context with AIContextProvider

How to use AIContextProvider in Microsoft Agent Framework to inject dynamic memory, reduce tool-token overhead, add guardrails, and extend agent context at runtime.

April 30, 2026 · 7 min · Lukas Walter

Controlling Token Growth with Chat Reducers

How to control token growth in Microsoft Agent Framework with message-count and summarizing chat reducers, including setup, tradeoffs, and when each approach fits.

April 28, 2026 · 6 min · Lukas Walter

State Management and Chat History

How to manage short-term and persistent conversation state in Microsoft Agent Framework using AgentSession, StateBag, and a custom ChatHistoryProvider.

April 23, 2026 · 4 min · Lukas Walter

Use the Aspire Dashboard Standalone

Stop setting up complex observability stacks for local dev. Learn how to run the Aspire Dashboard as a standalone, lightweight OTLP viewer for any language.

April 22, 2026 · 2 min · Lukas Walter

Chat vs. Streaming: Don't Keep Your Users Waiting

When to use RunAsync vs. RunStreamingAsync in Microsoft Agent Framework, and why streaming improves chat UX while blocking calls still fit structured outputs and background work.

April 20, 2026 · 4 min · Lukas Walter

Zero to First Agent

How to initialize the Microsoft Agent Framework, connect to Azure, OpenAI or local Ollama models and execute your first asynchronous agent run.

April 16, 2026 · 5 min · Lukas Walter

Microsoft Agent Framework: Introduction

How Microsoft Agent Framework builds on Microsoft.Extensions.AI, when it supersedes Semantic Kernel for new .NET agent systems, and where MCP, context providers, and workflows fit.

April 14, 2026 · 8 min · Lukas Walter

Context Compression in .NET

Reduce token cost and latency in .NET by compressing RAG context with a cheap summarizer model or an IChatClient middleware pipeline.

April 1, 2026 · 2 min · Lukas Walter

Debugging LLM Timeouts in .NET

A repeatable local setup for timeout triage in .NET LLM workloads using Aspire, OpenTelemetry, and Ollama.

February 22, 2026 · 5 min · Lukas Walter