# 企知 RAG **Repository Path**: coderdreams/enterprise-knowledge-rang ## Basic Information - **Project Name**: 企知 RAG - **Description**: 黑马-vibe-coding-RAG项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-02 - **Last Updated**: 2026-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🧠 知源问答 — RAG 企业级知识库问答系统 > 基于 LangChain + Ollama 的电商领域智能问答平台 | 毕设项目 [](https://www.python.org/) [](https://vuejs.org/) [](https://www.langchain.com/) [](LICENSE) --- ## 📖 项目简介 **知源问答** 是一个面向电商平台的企业级 RAG(检索增强生成)知识库问答系统。系统将商品文档(PDF、Word、文本等)通过向量化存储到知识库中,用户可以用自然语言提问,系统自动检索相关商品信息并生成准确回答,**每个回答均标注引用来源**,确保答案可追溯、可验证。 ### 🎯 核心能力 - 🔍 **知识库管理** — 支持多格式文档上传、自动解析分块、向量化存储 - 💬 **智能问答** — 基于 RAG 技术,结合知识库内容精准回答商品相关问题 - 📎 **引用溯源** — 回答中标注 `[来源X]`,点击可查看知识库原文片段 - 👥 **多用户隔离** — 独立账户体系,每人独立会话,数据互不干扰 - 📝 **历史持久化** — 会话和消息永久保存,随时找回历史对话 - ⚡ **流式输出** — LLM 回答 Token 级实时流式展示,体验流畅 --- ## 🏗️ 技术架构 ``` ┌────────────────────────────────────────┐ │ 前端 Vue 3 + Element Plus │ │ Vite + Pinia + Axios │ └──────────────────┬─────────────────────┘ │ HTTP + SSE 流式 ┌──────────────────▼─────────────────────┐ │ 后端 FastAPI + Uvicorn │ │ JWT 认证 · REST API · SSE │ │ │ │ ┌─────────────────────────────────┐ │ │ │ LangChain RAG 管道 │ │ │ │ Query Rewrite → Retrieve → Gen │ │ │ └──────────┬──────────────────────┘ │ └─────────────┼──────────────────────────┘ ┌──────┴──────┐ ┌────▼────┐ ┌─────▼─────┐ │ Ollama │ │ ChromaDB │ ┌───────┐ │Qwen2.5 │ │ 向量存储 │ │ MySQL │ │ bge-m3 │ └───────────┘ └───────┘ └─────────┘ ``` | 层级 | 技术选型 | 说明 | |:---|:---|:---| | LLM 大模型 | Ollama + Qwen2.5:7b | 本地部署,中文能力强 | | Embedding | Ollama + bge-m3 | 1024 维,多语言 SOTA | | RAG 框架 | LangChain + LCEL | 灵活编排检索生成链 | | 后端框架 | FastAPI | 异步高性能,SSE 流式 | | 向量数据库 | ChromaDB | 持久化模式,零运维 | | 业务数据库 | MySQL 8.0 | 用户/会话/消息存储 | | 前端框架 | Vue 3 + Element Plus | 企业级 UI,中文友好 | | 认证方案 | JWT + bcrypt | 无状态认证,安全可靠 | --- ## 🚀 快速开始 ### 环境要求 | 组件 | 版本 | 说明 | |------|------|------| | Python | 3.13+ | 后端运行环境 | | Node.js | 24+ | 前端构建工具 | | Ollama | 0.30+ | 本地 LLM 服务 | | MySQL | 8.0+ | 业务数据库 | ### 1. 克隆项目 ```bash git clone git@gitee.com:coderdreams/enterprise-knowledge-rang.git cd enterprise-knowledge-rang ``` ### 2. 启动 Ollama ```bash ollama serve ``` > 确保已拉取模型:`ollama pull Qwen2.5:7b` 和 `ollama pull bge-m3` ### 3. 配置 MySQL ```sql CREATE DATABASE IF NOT EXISTS rag_kb DEFAULT CHARACTER SET utf8mb4; ``` ### 4. 启动后端 ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --reload --port 8000 ``` 访问 http://localhost:8000/docs 查看 API 文档。 ### 5. 启动前端 ```bash cd frontend npm install npm run dev ``` 访问 http://localhost:5173 进入系统。 ### 🔑 默认账户 | 角色 | 用户名 | 密码 | |------|--------|------| | 管理员 | `admin` | `123456` | | 普通用户 | 自行注册 | — | --- ## 📁 项目结构 ``` enterprise-knowledge-rang/ ├── backend/ # FastAPI 后端 │ ├── app/ │ │ ├── main.py # 应用入口 │ │ ├── config.py # 配置管理 │ │ ├── database.py # MySQL 异步连接 │ │ ├── dependencies.py # 依赖注入 (Auth) │ │ ├── models/ # SQLAlchemy ORM │ │ ├── schemas/ # Pydantic 模型 │ │ ├── api/ # RESTful 路由 │ │ ├── services/ # 业务逻辑 │ │ └── utils/ # 工具函数 │ ├── chroma_db/ # ChromaDB 持久化 │ ├── uploads/ # 上传文件存储 │ └── requirements.txt ├── frontend/ # Vue 3 前端 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── components/ # 通用组件 │ │ ├── stores/ # Pinia 状态 │ │ ├── api/ # API 封装 │ │ └── router/ # 路由配置 │ └── package.json ├── CLAUDE.md # 项目开发指南 └── README.md ``` --- ## 🔧 功能清单 - [x] 用户注册 / 登录 / 修改密码 - [x] JWT 无状态认证 + 角色鉴权 - [x] 管理员知识库管理(上传 / 查看 / 删除文档) - [x] 多格式文档支持(PDF / DOCX / TXT / MD / CSV) - [x] 中文优化文档分块 + 向量化 - [x] 历史感知查询改写 + 向量检索 - [x] SSE 流式输出 LLM 回答 - [x] 引用来源标注 + 原文片段展示 - [x] 多用户多会话隔离 - [x] 历史记录持久化与回溯 - [x] 性能优化:Embedding 缓存 + LRU 问答缓存 --- ## 📄 License MIT © 2025 coderDreams ---
知源问答 — 知其然,更知其所以"源"