Erik Mostert
← All projects

DocQuery: An AI processing pipeline for documents, with RAG and vector search

C#ASP.NET Core.NET AspireAzure OpenAIAzure Service BusPostgreSQL + pgvectorReactKubernetes

Exam prep material tends to teach retrieval-augmented generation one piece at a time. A chunking snippet here, an embeddings call there, a vector query in a notebook. DocQuery puts the whole path in one solution. You upload a PDF in the browser, watch it move through chunking and embedding, then ask a question and read the answer with citations back to the pages it came from. Documents land in Azure Blob Storage, a transactional outbox publishes DocumentUploaded to a Service Bus topic, a chunking worker splits the text with PdfPig under a real token budget, an embedding worker generates vectors with Azure OpenAI into pgvector, and a separate query API answers questions over them. Because it is a real system rather than a sample, it also carries the parts a sample skips, such as Clean Architecture with a CQRS split, Polly pipelines on every outbound dependency, Testcontainers-backed infrastructure tests, ADRs, and Bicep plus Kustomize to deploy it all to AKS with workload identity.