rag-web-ui/rag-web-ui

RAG Web UI is an intelligent dialogue system based on RAG (Retrieval-Augmented Generation) technology.

What it solves

RAG Web UI 提供一套完整的系統,用於基於私有知識庫構建智慧問答服務。它解決了讓大型語言模型(LLM)提供基於使用者提供的特定文件、而非僅依賴模型一般訓練資料的準確、可靠答案的問題。

How it works

系統使用檢索增強生成(RAG)管線:

  1. Document Ingestion:使用者上傳文件(PDF、DOCX、Markdown、Text),這些文件會儲存在 MinIO 中。系統隨後非同步抽取文字、切分成區塊,並使用嵌入服務將這些區塊轉換為向量。
  2. Storage:這些向量會儲存在向量資料庫(ChromaDB 或 Qdrant)。
  3. Query Process:當使用者提出問題時,系統會對查詢進行嵌入,從向量資料庫中檢索最相關的文件區塊,使用 Cross‑Encoder 重新排序,然後將組合好的上下文餵給 LLM 產生最終回應。
  4. Integration:支援多種 LLM 供應商(OpenAI、DeepSeek、MiniMax,以及透過 Ollama 的本地模型),並提供 OpenAPI 介面供外部存取。

Who it’s for

此專案適合想要部署私有、基於文件的 AI 聊天系統且具備友好網頁介面的使用者,也適合尋找 RAG 架構參考實作的開發者。

Highlights

  • Flexible LLM Support:相容雲端服務(OpenAI、DeepSeek、MiniMax)與本地部署(Ollama)。
  • Multi-Format Support:支援 PDF、DOCX、Markdown 與 Text 檔案。
  • Vector DB Choice:透過 Factory 模式同時支援 ChromaDB 與 Qdrant。
  • Full-Stack Architecture:結合 FastAPI 後端、Next.js 14 前端與 MinIO 分散式物件儲存。
  • Citations:在對話中支援引用參考,以確保答案的透明度。