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.
Compose shared chat-client behavior in .NET without moving feature policy into middleware or hiding streaming, caching, and retry costs.
How to keep an AI-enabled product useful when a dependency fails, without hiding reduced capability or returning unsafe substitutes.
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.
A small ASP.NET Core foundation for model access, validated configuration, tracing, buffered and streaming HTTP contracts, and future AI capabilities.
Index documents in Qdrant from .NET with Azure OpenAI or local Ollama embeddings, stable point IDs, useful payloads, and a read-back check.
Choose AI evaluation criteria from the feature contract: answer quality, retrieval, tool effects, safety, reliability, latency, and cost.
Register .NET AI clients, tools, prompts, and retrieval services with explicit lifetimes, safe request state, and clear disposal ownership.
Design human approval around an exact operation, with reviewable payloads, durable decisions, expiry, and execution checks that survive retries.
Run Qdrant locally, connect with the official .NET client, and create a collection whose vector size and distance match the embedding model.
How to bound time, tokens, retries, tool calls, and estimated cost across a complete AI execution instead of limiting each call in isolation.