RAG in .NET: The Complete Series
Last updated: 28 July 2026
Retrieval-Augmented Generation is a pattern, not a framework, and the gap between a RAG tutorial and a RAG pipeline that stays healthy in production is substantial.
This series covers what I’ve actually learned building and operating RAG pipelines in .NET, mostly for documentation sites and client engagements: chunking decisions, retrieval quality, observability, and the tooling needed to keep a pipeline healthy once it’s shipped.
This isn’t a single getting-started guide, it’s a working series that grows as I find new gotchas and build better tooling.
You can start wherever’s relevant to you.
The Series, In Order
- Microsoft Agent Framework: Adding RAG to Your AI Agent Using TextSearchProvider and In-Memory Vector Store Grounding an Agent Framework agent’s responses in your own documents using
TextSearchProvider. (Also part of the Microsoft Agent Framework series.) - RAG in .NET: What the Tutorials Don’t Tell You. Chunking, Embedding, and Production Gotchas The chunking decisions that degrade silently, retrieval quality that looks fine in demos and falls apart on real queries, and the observability gaps that make debugging feel like guessing.
- Your RAG Pipeline Is Slow Because You’re Sending Entire Pages to the LLM Diagnosing an 18–25 second query latency down to what was actually being sent to the LLM for synthesis, and fixing it.
- The RAG Workbench I Actually Needed Building DocIngestion, a local-first RAG ingestion and retrieval inspection tool, after concluding most RAG tooling makes answering basic “why did this happen” questions too slow.
- Building a RAG Administration Tool with .NET, Elasticsearch and OpenAI Keeping a pipeline healthy after the initial vectorisation pass, a localhost admin panel for managing document and vector index drift.
- A Developer’s Guide to Building RAG Systems: Lessons from the Trenches Lessons pulled from building RAG pipelines across a number of engagements, where the real cost of early decisions shows up later, not at the start.
~
Earlier Related Reading
Before this series, I wrote about implementing 100% local RAG using Phi-3 with local embeddings via Semantic Kernel. The model choice has moved on since, but it’s still a useful reference if you need a RAG pipeline that runs fully offline, with no calls out to a cloud model.
~
Building an AI Agent More broadly?
If you landed here via the RAG-in-Agent-Framework post and want the full picture, function tools, memory, human-in-the-loop, MCP, and more, see the Microsoft Agent Framework series.
Questions about any post in this series, or want to see a topic covered? Drop a note in the comments, or schedule a call to discuss consulting and development services.
~