← Back to Work

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.
Inspect implementation on GitHub ↗

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

Discuss a similar system