A Span<T> cannot cross an await boundary
Keep span work between awaits. Carry memory or its backing buffer through asynchronous I/O.
Keep span work between awaits. Carry memory or its backing buffer through asynchronous I/O.
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.
Use DateTimeOffset for timestamps sent through APIs, messages, or storage when they must identify one unambiguous point in time.
Index documents in Qdrant from .NET with Azure OpenAI or local Ollama embeddings, stable point IDs, useful payloads, and a read-back check.
Define allowed fields, redaction, access, and retention before capturing AI inputs, outputs, or tool content for debugging.
C# 14 lets you write nameof(List<>) instead of supplying a type argument just to get the name. The result is still List.
Review generated EF Core operations, inspect the deployment SQL, and check application compatibility before applying schema changes.
Commit global.json and choose whether builds require an exact SDK or may use newer installed patches or feature bands.