Software application / engineering project

Document Support RAG Chatbot

A local, self-hosted RAG application for ingesting support documents and answering questions with grounded source references.

v1 scope completeLocal / self-hosted

Overview

A public engineering project that explores a complete document-support workflow without presenting the application as a hosted service.

Problem / motivation

Document answers are more useful when they are grounded in relevant retrieved context and make their sources visible.

What it implements

  • Accept text, Markdown and PDF documents through a browser interface and FastAPI API.
  • Create embeddings with OpenAI and persist searchable document chunks in ChromaDB.
  • Return grounded answers with structured source references and support local Docker, Docker Compose and Kubernetes execution.

Architecture / workflow

  • Documents enter through the browser or FastAPI interface and are converted into searchable chunks.
  • OpenAI embeddings represent those chunks and ChromaDB persists the local retrieval index.
  • A question retrieves relevant context before the response is returned with visible source references.

Key engineering decisions

Ground answers in retrieved content

Source references and retrieved chunks keep the response flow inspectable instead of presenting unsupported answers.

Keep deployment claims explicit

The project supports local and self-hosted execution but is not advertised as a public hosted service.

Reliability / security considerations

  • Unsupported questions use a bounded fallback instead of presenting an ungrounded answer.
  • Source excerpts remain visible so a user can inspect the evidence behind a response.
  • Deployment is described as local or self-hosted; no public hosted service is implied.

Validation / testing

  • pytest covers the Python implementation and Ruff enforces code-quality checks.
  • Captured scenarios verify grounded answers, contextual follow-ups and bounded fallback behaviour.
  • Docker, Compose and single-instance Kubernetes paths document repeatable local execution.

Project evidence

Screenshots / results

Verified output from Document Support RAG Chatbot, presented with the operating boundaries described on this page.

Document Support RAG interface with document upload, indexed files and a grounded question panel.
Local browser interface for document ingestion and grounded questions.
Grounded support answer displayed beside retrieved source references.
A grounded answer keeps the retrieved source excerpts visible.
Follow-up support question answered with conversation context and source references.
A contextual follow-up preserves the visible grounding trail.
Kubernetes rollback question with a source-grounded troubleshooting answer.
Document-scoped Kubernetes troubleshooting with cited support content.
Document Support RAG interface declining to answer a question unsupported by indexed documents.
The bounded fallback avoids presenting an unsupported answer.

Outcomes

  • Completed the intended v1 document ingestion, retrieval, grounded-answer and deployment-support scope.

Current scope / limitations

The completed v1 is a local, self-hosted engineering project. It depends on configured OpenAI access for embeddings and answers, and it is not presented as a public production service.

Technology stack

PythonFastAPIOpenAIChromaDBRAGDockerKubernetespytestRuff