AI / RAG · Public source
NovaKnowledge — RAG Knowledge Copilot
A public .NET 10 reference implementation for grounded enterprise knowledge retrieval, cited answers, and observable AI orchestration on Azure.
Grounded retrieval · Agent traces · Explicit evaluation modes
Public reference implementation
Architecture explorer · NovaKnowledge
Inspect the boundaries.
Understand the tradeoffs.
Select a component to see its responsibility, failure considerations, and implementation evidence. This is a source-backed architecture explanation, not a running deployment.
Ingest → Retrieve → Orchestrate → Answer
Evaluation and operations support the pipeline.
Component 01
Document ingestion
Document processing extracts text, creates chunks, optionally generates embeddings, and indexes content for retrieval.
- Design decision
- Process ingestion asynchronously. Keep document status explicit, replace prior chunks, and index in batches.
- Failure & scope
- Processing errors mark a document Failed and are rethrown. This is not a claim of exactly-once delivery or an automatically recovered pipeline.
NovaKnowledge is a single-tenant reference implementation without authentication. Hybrid retrieval needs configured embeddings; evaluation reports its engine. Read the full case study →
Overview
A public .NET 10 reference implementation for grounded enterprise knowledge retrieval, cited answers, and observable AI orchestration on Azure.
Business Problem
Employees need answers from scattered HR, IT, and policy documents, with source context they can inspect rather than unsupported generated responses.
Constraints
Single-tenant demonstration without authentication. The shipped configuration uses keyword-only search; hybrid retrieval requires configured embeddings. Azure AI Search and a chat model are still required for the full chat workflow. Cost estimates use configurable per-token prices.
My Role
Designed and implemented a portfolio RAG platform spanning .NET services, ingestion, retrieval, agent orchestration, a Blazor admin interface, and Python-based evaluation.
Architecture
Six APIs behind a YARP gateway, a Service Bus ingestion worker, Blazor administration, PostgreSQL persistence, Redis caching, Azure OpenAI, Azure AI Search, and a separate FastAPI evaluation service.
Technical Decisions
Implemented Azure AI Search keyword and optional vector retrieval with semantic ranking; a Semantic Kernel router, deterministic research step, synthesis agent, and compliance-review agent; cited chat responses; and a Python service supporting Ragas metrics with an explicitly labeled offline fallback.
Implementation
Single-tenant demonstration without authentication. The shipped configuration uses keyword-only search; hybrid retrieval requires configured embeddings. Azure AI Search and a chat model are still required for the full chat workflow. Cost estimates use configurable per-token prices.
Results
Public source demonstrates the ingestion-to-answer architecture, retrieval modes, agent traces, evaluation paths, tests, Bicep infrastructure, and operational documentation. No production usage, benchmark scores, or business-impact metrics are claimed.
Lessons / Tradeoffs
Hybrid retrieval combines exact-term matching with vector similarity but adds embedding and search dependencies. The agent pipeline uses up to three model calls versus one in the single-prompt path; research formatting stays deterministic. Ragas evaluation requires model credentials, while fallback scores are labeled offline. Authentication and authenticated tenant isolation remain production extensions.
Technology
.NET 10 · Azure OpenAI · Azure AI Search · Semantic Kernel · Python / Ragas · Blazor · PostgreSQL · Redis · Service Bus · Bicep