# RagKnowledge2025V1 **Repository Path**: zenglinapp/rag-knowledge2025-v1 ## Basic Information - **Project Name**: RagKnowledge2025V1 - **Description**: RagKnowledge2025V1源码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-17 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RAG知识库系统 基于检索增强生成(Retrieval-Augmented Generation, RAG)技术的智能问答系统。 ## 功能特性 - ✨ **多模型支持**: 集成DeepSeek、Moonshot(Kimi)、Qwen等大语言模型 - 📚 **RAG功能**: 支持文件上传,基于文档内容进行问答 - 💬 **会话管理**: 支持多会话并行,历史记录自动保存 - 📝 **Markdown渲染**: 支持代码高亮、表格、链接等Markdown格式 - 🚀 **流式响应**: 实时显示助手回复,提高用户体验 - 📁 **文件上传**: 支持txt、pdf、md、doc、docx等多种文件类型 - 🎨 **现代化UI**: 基于Vue3+Element Plus构建的美观界面 ## 技术栈 ### 前端 - Vue 3 + TypeScript - Element Plus - Vue Router - markdown-it + highlight.js ### 后端 - FastAPI - LlamaIndex - Redis (可选) - 本地JSON文件持久化 ## 快速开始 ### 环境准备 1. **Python 3.8+** 2. **Node.js 16+** 3. **Redis (可选,默认使用本地JSON文件)** ### 安装依赖 #### 后端 ```bash cd backend pip install -r requirements.txt ``` #### 前端 ```bash cd frontend npm install ``` ### 配置API密钥 在 `backend/env_unit.py` 中配置各模型API密钥: ```python DEEPSEEK_API_KEY = "your_deepseek_api_key" MOONSHOT_API_KEY = "your_moonshot_api_key" QWEN_API_KEY = "your_qwen_api_key" ``` ### 启动服务 #### 启动后端服务 ```bash cd backend python RAG_api.py ``` 后端服务将在 `http://localhost:8000` 启动 #### 启动前端服务 ```bash cd frontend npm run dev ``` 前端服务将在 `http://localhost:5173` 启动 ## 使用指南 ### 普通聊天 1. 点击左侧侧边栏的"新对话"按钮 2. 在输入框中输入问题 3. 点击发送按钮或按Enter键 4. 等待助手回复 ### 基于文档的问答 1. 点击左侧侧边栏的"新对话"按钮 2. 点击输入框下方的"上传文件"按钮 3. 选择要上传的文件 4. 在输入框中输入与文件内容相关的问题 5. 点击发送按钮或按Enter键 6. 助手将基于文件内容回答问题 ### 会话管理 - 点击左侧侧边栏的会话列表切换会话 - 点击会话右侧的删除按钮删除会话 - 点击左侧侧边栏的折叠按钮隐藏侧边栏 ## 项目结构 ``` rag-knowledge2025-v1/ ├── backend/ # 后端代码 │ ├── app_chat_basic_rag.py # 聊天引擎管理 │ ├── embeddings.py # 嵌入模型实现 │ ├── env_unit.py # 环境变量配置 │ ├── llms.py # 大语言模型集成 │ ├── local_redis.py # 本地Redis实现 │ ├── RAG_api.py # API服务器 │ └── redis_service.py # Redis服务 ├── frontend/ # 前端代码 │ ├── src/ │ │ ├── components/ # Vue组件 │ │ ├── router/ # 路由配置 │ │ ├── views/ # 视图组件 │ │ ├── App.vue # 根组件 │ │ └── main.ts # 入口文件 │ └── package.json ├── docs/ # 文档 │ └── RAG知识库系统聊天对话功能实现流程.md └── README.md ``` ## 文档 详细的实现流程文档请参考: `docs/RAG知识库系统聊天对话功能实现流程.md` ## 常见问题 ### Q: 如何切换大语言模型? A: 在 `backend/llms.py` 中修改 `get_llm` 函数的返回值。 ### Q: 如何修改Redis配置? A: 在 `backend/redis_service.py` 中修改Redis连接参数。 ### Q: 如何支持更多文件类型? A: 在 `frontend/src/components/MainChat.vue` 中修改 `handleFileSelect` 函数的文件类型验证逻辑。 ## 许可证 MIT License