rag-web-ui: what it is, what problem it solves & why it's gaining traction
rag-web-ui: what it is, what problem it solves & why it's gaining traction
What it solves
RAG Web UI provides a complete system for building intelligent Q&A services based on a private knowledge base. It solves the problem of making large language models (LLMs) provide accurate, reliable answers grounded in specific user-provided documents rather than relying solely on the model's general training data.
How it works
The system uses a Retrieval-Augmented Generation (RAG) pipeline:
- Document Ingestion: Users upload documents (PDF, DOCX, Markdown, Text), which are stored in MinIO. The system then asynchronously extracts text, splits it into chunks, and converts those chunks into vectors using an embedding service.
- Storage: These vectors are stored in a vector database (either ChromaDB or Qdrant).
- Query Process: When a user asks a question, the system embeds the query, retrieves the most relevant document chunks from the vector database, re-ranks them using a Cross-Encoder, and feeds the assembled context to an LLM to generate a final response.
- Integration: It supports various LLM providers (OpenAI, DeepSeek, MiniMax, and local models via Ollama) and provides an OpenAPI interface for external access.
Who it’s for
This project is designed for users who want to deploy a private, document-based AI chat system with a user-friendly web interface, as well as developers looking for a reference implementation of a RAG architecture.
Highlights
- Flexible LLM Support: Compatible with cloud services (OpenAI, DeepSeek, MiniMax) and local deployments (Ollama).
- Multi-Format Support: Handles PDF, DOCX, Markdown, and Text files.
- Vector DB Choice: Supports both ChromaDB and Qdrant via a Factory pattern.
- Full-Stack Architecture: Combines a FastAPI backend with a Next.js 14 frontend and MinIO for distributed object storage.
- Citations: Supports reference citations in conversations to ensure transparency in answers.
Sources
- undefinedrag-web-ui/rag-web-ui