RAG知识中心产品系统Vibe Coding

我要开发同款
18阅读

技术信息

语言技术
PythonFlaskpostgresReact
系统类型
Web
行业分类
人工智能

作品详情

行业场景

提供一个开源免费、开箱即用的RAG知识库系统,供中小型企业本地化部署使用。传统的文档查询效率低且浪费人力,RAG知识库可以有效提高文档检索效率,并结合大模型给出精准回复,提高整体工作效率。
代码仓库地址https://github.com/flyingpenguin57/knowledge-center/blob/main/DESIGN.md

功能介绍

1.用户上传文件
→ FastAPI 接收文件
→ MinIO 持久化存储
→ MinerU 云端解析为 Markdown
→ LangChain RecursiveCharacterTextSplitter 切分 Chunk
→ light-embedding 生成向量
→ Qdrant 向量存储 + PostgreSQL 元数据持久化
2.用户问答
→ light-embedding 生成问题向量
→ Qdrant 检索 top_k 相关 Chunk
→ LLM 基于 Chunk 上下文生成回答
→ 前端渲染 Markdown + 思考标签折叠
3.用户注册登录、token配置等

项目实现

# 知识库 RAG 系统设计

## 技术栈

| 层级 | 技术 |
|------|------|
| 前端 | React 18 + Vite + Ant Design + React Markdown |
| 后端 | Python FastAPI + SQLAlchemy + Pydantic |
| 文件存储 | MinIO(本地 Docker) |
| 关系数据库 | PostgreSQL 16(本地 Docker) |
| 向量数据库 | Qdrant(本地 Docker) |
| Embedding | light-embedding(all-MiniLM-L6-v2, 384 维) |
| 文档解析 | MinerU 云 API |
| LLM | 用户自配(OpenAI 兼容格式) |
| 认证 | JWT Bearer Token + bcrypt 密码哈希 |

## 核心流程

### 文档解析流程

```
用户上传文件
→ FastAPI 接收文件
→ MinIO 持久化存储
→ MinerU 云端解析为 Markdown
→ LangChain RecursiveCharacterTextSplitter 切分 Chunk
→ light-embedding 生成向量
→ Qdrant 向量存储 + PostgreSQL 元数据持久化
```

### RAG 问答流程

```
用户提问
→ light-embedding 生成问题向量
→ Qdrant 检索 top_k 相关 Chunk(user_id 隔离)
→ LLM 基于 Chunk 上下文生成回答
→ 前端渲染 Markdown + 思考标签折叠
```

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论