# RAG知识库系统 - 完整配置总结 ## ✅ 已完成的配置 ### 1. 系统架构 **混合模式(Hybrid Mode)**: - 📥 文档嵌入:本地Ollama (`nomic-embed-text`) - 🤖 AI生成:远程Kimi API (`moonshot-v1-32k`) - 💾 向量存储:SimpleVectorStore(文件持久化) ### 2. 配置文件 **application.yml**: ```yaml rag: mode: hybrid # 混合模式 openai: base-url: https://api.moonshot.cn/v1 api-key: sk-U9fdriPxwBcrpWW0Ite3N0eVtX7VxnqqqYUIBAdWd1hgEA9m generate-model: moonshot-v1-32k ollama: url: http://localhost:11434 embed-model: nomic-embed-text storage: upload-path: D:/wwwroot/RAG/uploads log-path: D:/wwwroot/RAG/logs chroma-data-path: D:/wwwroot/RAG/data/chroma_db ``` ### 3. 目录结构 ``` D:\wwwroot\RAG\ ├── uploads\ # 文档上传目录 ├── logs\ # 系统日志 └── data\ └── chroma_db\ └── vector_store.json # 向量数据持久化文件 ``` ### 4. 后端功能 **控制器**:`PsyKnowledgeController.java` - ✅ 文档上传(自动处理) - ✅ 文档列表查询 - ✅ 文档详情查看 - ✅ 文档删除 - ✅ 文档搜索 - ✅ 重建索引 - ✅ 获取统计信息 - ✅ 清空知识库 **服务层**:`KnowledgeService.java` - ✅ 自动解析文档 - ✅ 自动分块处理 - ✅ 自动生成向量 - ✅ 自动存储到向量库 - ✅ 文档索引管理 **向量存储**:`SimpleVectorStore.java` - ✅ 内存存储 - ✅ 文件持久化 - ✅ 自动加载/保存 - ✅ 余弦相似度检索 ### 5. 前端页面 **知识库管理**:`xinli-ui/src/views/psychology/knowledge/index.vue` - ✅ 统计卡片(文档数、片段数、服务状态) - ✅ 文档上传(拖拽上传、分类选择) - ✅ 文档列表(分页、查看、删除) - ✅ 重建索引 - ✅ 清空知识库 ## 🚀 使用流程 ### 方式1:Web界面上传(推荐) 1. 登录系统 2. 进入"知识库管理"页面 3. 点击"上传文档" 4. 选择分类和文件 5. 点击确定 6. **系统自动处理**: ``` 上传 → 保存 → 解析 → 分块 → 向量化 → 存储 → 完成 ``` ### 方式2:批量处理 1. 将文档放入 `D:\wwwroot\RAG\uploads\` 2. 运行 `处理上传文件.bat` 3. 或在Web界面点击"重建索引" ### 方式3:API调用 ```bash # 上传文档 POST /psychology/knowledge/upload Content-Type: multipart/form-data file: [文件] category: assessment # 重建索引 POST /psychology/knowledge/rebuild # 查看状态 GET /psychology/knowledge/statistics ``` ## 📊 系统容量 **推荐配置**: - 文档数量:50-200个 - 文档片段:1000-5000个 - 内存占用:10-50MB - 查询速度:50-200ms **适用场景**: - ✅ 心理测评标准文档 - ✅ 心理学理论知识 - ✅ 案例分析文档 - ✅ 干预建议文档 ## 🔧 维护操作 ### 检查状态 **使用脚本**: ```bash 检查知识库状态.bat ``` **使用API**: ```bash curl http://localhost:30081/api/knowledge/statistics ``` **查看文件**: ``` D:\wwwroot\RAG\data\chroma_db\vector_store.json ``` ### 备份数据 ```bash # 备份向量数据 copy D:\wwwroot\RAG\data\chroma_db\vector_store.json backup\ # 备份文档 xcopy D:\wwwroot\RAG\uploads backup\uploads\ /E /I ``` ### 清空知识库 **Web界面**:点击"清空知识库"按钮 **API调用**: ```bash curl -X DELETE http://localhost:30081/api/knowledge/clear ``` ## 🎯 AI分析使用 ### 在测评报告中使用 1. 进入"测评报告"页面 2. 选择一个报告 3. 点击"AI分析"按钮 4. 系统流程: ``` 分析测评结果 ↓ 从知识库检索相关知识(Ollama嵌入) ↓ 构建提示词(包含检索到的知识) ↓ 调用Kimi API生成分析 ↓ 显示分析结果和知识来源 ``` ### 分析质量优化 **提高质量的方法**: 1. 上传高质量、专业的文档 2. 确保文档内容与测评相关 3. 文档结构清晰、分段明确 4. 定期更新知识库内容 5. 删除无效或过时的文档 ## 📝 支持的文档格式 - `.txt` - 纯文本文件 - `.pdf` - PDF文档 - `.docx` - Word文档 - `.md` - Markdown文档 **文件限制**: - 单个文件最大 10MB - 建议文档内容清晰、结构化 ## 🔍 工作原理 ### 文档处理流程 ``` 1. 上传文档 ↓ 2. 保存到 D:/wwwroot/RAG/uploads ↓ 3. 解析文档内容(DocumentParser) ↓ 4. 文本分块(TextSplitter) - 块大小:800字符 - 重叠:200字符 ↓ 5. 生成向量(Ollama) - 模型:nomic-embed-text - 维度:768维 ↓ 6. 存储到SimpleVectorStore - 内存存储 - 自动保存到 vector_store.json ↓ 7. 完成!可立即使用 ``` ### AI分析流程 ``` 1. 用户请求AI分析 ↓ 2. 提取测评结果关键信息 ↓ 3. 生成查询向量(Ollama) ↓ 4. 检索相关知识片段(Top-5) - 使用余弦相似度 - 相似度阈值:0.7 ↓ 5. 构建提示词 - 系统角色:心理咨询专家 - 测评结果 - 检索到的知识 ↓ 6. 调用Kimi API生成分析 - 模型:moonshot-v1-32k - 上下文:32k tokens ↓ 7. 返回分析结果和知识来源 ``` ## 💰 成本说明 **免费部分**: - ✅ 文档处理(本地Ollama) - ✅ 向量生成(本地Ollama) - ✅ 知识检索(本地SimpleVectorStore) - ✅ 数据存储(本地文件) **付费部分**: - 💰 AI报告生成(Kimi API) - 按调用次数计费 - 你的API额度 ## ⚙️ 配置参数 ### 文本分块 ```yaml text-splitter: chunk-size: 800 # 分块大小(字符) chunk-overlap: 200 # 重叠大小(字符) ``` ### 检索参数 ```yaml retrieval: top-k: 5 # 返回前5个最相关片段 similarity-threshold: 0.7 # 相似度阈值 ``` ### 存储路径 ```yaml storage: upload-path: D:/wwwroot/RAG/uploads log-path: D:/wwwroot/RAG/logs chroma-data-path: D:/wwwroot/RAG/data/chroma_db ``` ## 🛠️ 故障排查 ### 问题1:上传失败 **可能原因**: - Ollama未运行 - 文件格式不支持 - 文件大小超限 - 磁盘空间不足 **解决方法**: 1. 检查Ollama:`ollama list` 2. 检查文件格式和大小 3. 查看应用日志 ### 问题2:AI分析没有使用知识库 **可能原因**: - 知识库为空 - 文档内容不相关 - 相似度阈值过高 **解决方法**: 1. 检查知识库状态 2. 上传相关文档 3. 调整相似度阈值 ### 问题3:向量数据丢失 **可能原因**: - 文件被删除 - 文件权限问题 - 保存失败 **解决方法**: 1. 检查 `vector_store.json` 是否存在 2. 检查文件权限 3. 重建索引 ### 问题4:性能慢 **可能原因**: - 文档数量过多 - Ollama性能不足 - 内存不足 **解决方法**: 1. 删除无用文档 2. 升级硬件 3. 调整分块大小 ## 📚 相关文档 - `README-RAG-SYSTEM.md` - 系统概述 - `RAG-使用指南.md` - 使用指南 - `RAG-容量说明.md` - 容量说明 - `知识库管理-使用说明.md` - 管理说明 - `快速开始-知识库.md` - 快速开始 ## 🎉 总结 系统已完整配置,具备: - ✅ 自动文档处理 - ✅ 持久化存储 - ✅ Web管理界面 - ✅ AI分析功能 - ✅ 完整的API 现在可以开始使用了! --- **配置完成时间**:2025-12-19 **系统版本**:1.0.0