MinIO + FastAPI FastAPI+ MySQL MySQL+ Ollama Ollama+ OpenAI GPT Latest OpenAI GPT Latest + Docker Compose v2.0++ Node.js 18++ Python 3.9++ ChromaDB

基于RAG的自建知识库智能问答系统,文档检索+大模型生成可靠回答

FastAPI提供异步后端,MySQL存关系数据,ChromaDB做向量检索,MinIO分布式存文件,LLM生成答案

✓ 支持云端与本地Ollama部署,兼顾隐私✓ 支持ChromaDB、Qdrant向量库 ✕ 需要8GB以上内存✕ 文档截断,完整部署细节需查原仓库

方案简介

RAG Web UI 是一套基于 RAG(检索增强生成)技术的智能对话系统,帮助用户基于自己的知识库搭建智能问答服务。它将文档检索与大语言模型结合,实现准确、可靠的知识型问答。

该方案支持多种 LLM 部署方式:既可接入 OpenAI、DeepSeek、MiniMax 等云端服务,也可通过 Ollama 本地部署模型,满足不同场景下的隐私与成本需求。系统还提供 OpenAPI 接口,方便通过 API 调用访问知识库。

适合希望将私有文档(PDF、DOCX、Markdown、TXT 等)变成可对话知识库的开发者与团队,尤其是需要数据私有化部署、或需要通过 API 集成问答能力到自有产品的场景。

亮点与能力

  • 智能文档管理:支持 PDF、DOCX、Markdown、Text 多种文档格式,自动分块与向量化,支持异步文档处理与增量更新
  • 高级对话引擎:基于 RAG 的精准检索与生成,支持多轮上下文对话,对话中支持引用出处标注
  • 健壮架构:前后端分离设计,分布式文件存储
  • 高性能向量数据库:支持 ChromaDB、Qdrant,通过 Factory 模式轻松切换
  • OpenAPI 接口:通过 API Key 管理与 API 调用访问知识库
  • 异步处理流程:文档上传后返回 Job ID,可轮询处理状态(Processing/Completed/Failed)

组成与分工

  • FastAPI:高性能异步 Web 框架,承担后端 API 服务
  • MySQL:关系型数据库,存储用户、知识库等结构化数据
  • ChromaDB:向量数据库,存储文档向量化结果,支撑检索
  • MinIO:分布式对象存储,存放上传的原始文档文件
  • Ollama / OpenAI / DeepSeek / MiniMax:大语言模型服务,负责基于检索上下文生成回答
  • Embedding Service:Embedding API 与 Embedding Server,将文本切分片段向量化后写入向量库
  • NFS:分布式文件存储环节,对接文档预处理流程

前置要求

  • Docker & Docker Compose v2.0+
  • Node.js 18+
  • Python 3.9+
  • 8GB+ RAM

使用与配置要点

服务启动后通过以下地址验证与使用:

  • 🌐 前端 UI:http://127.0.0.1.nip.io
  • 📚 API 文档:http://127.0.0.1.nip.io/redoc
  • 💾 MinIO 控制台:http://127.0.0.1.nip.io:9001

日常使用流程:在前端管理界面创建知识库并上传文档(PDF/MD/TXT/DOCX),系统返回 Job ID 并异步完成预处理、分块、向量化入库,可通过 Job 状态查询轮询进度;随后在对话界面即可基于知识库进行多轮问答并查看引用;也可通过 API Key 管理,使用 OpenAPI 接口以检索上下文方式集成到自有应用。

优缺点

  • ✓ 支持云端与本地Ollama部署,兼顾隐私
  • ✓ 支持ChromaDB、Qdrant向量库
  • ✕ 需要8GB以上内存
  • ✕ 文档截断,完整部署细节需查原仓库

出处

本方案挖掘自开源项目 rag-web-ui/rag-web-ui,方案内容与实施命令均来自其 README 原文。

方案出处
rag-web-ui/rag-web-ui:RAG Web UI is an intelligent dialogue system based on RAG (Retrieval-Augmented G
3279 star RAG Web UI is an intelligent dialogue system based on RAG (Retrieval-Augmented Generation) technology.

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。