251 lines
5.2 KiB
Markdown
251 lines
5.2 KiB
Markdown
|
|
# RAG知识库 - 快速开始指南
|
|||
|
|
|
|||
|
|
## 📝 操作步骤
|
|||
|
|
|
|||
|
|
### 第1步:准备文档
|
|||
|
|
|
|||
|
|
将你的心理学知识文档放入上传目录:
|
|||
|
|
```
|
|||
|
|
D:\wwwroot\RAG\uploads\
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
支持的格式:
|
|||
|
|
- `.txt` - 纯文本
|
|||
|
|
- `.pdf` - PDF文档
|
|||
|
|
- `.docx` - Word文档
|
|||
|
|
- `.md` - Markdown文档
|
|||
|
|
|
|||
|
|
示例文档结构:
|
|||
|
|
```
|
|||
|
|
D:\wwwroot\RAG\uploads\
|
|||
|
|
├── 抑郁症评估标准.txt
|
|||
|
|
├── 焦虑症干预方法.pdf
|
|||
|
|
├── 心理咨询案例集.docx
|
|||
|
|
└── 心理健康知识.md
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 第2步:启动应用
|
|||
|
|
|
|||
|
|
确保以下服务正在运行:
|
|||
|
|
- ✅ Ollama(用于生成向量)
|
|||
|
|
- ✅ MySQL(系统数据库)
|
|||
|
|
- ✅ Redis(缓存)
|
|||
|
|
- ✅ Spring Boot应用
|
|||
|
|
|
|||
|
|
启动Spring Boot应用后,访问:
|
|||
|
|
```
|
|||
|
|
http://localhost:30081
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 第3步:处理文档
|
|||
|
|
|
|||
|
|
**方式A:使用脚本(推荐)**
|
|||
|
|
|
|||
|
|
双击运行:
|
|||
|
|
```
|
|||
|
|
处理上传文件.bat
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
脚本会自动:
|
|||
|
|
1. 检查应用状态
|
|||
|
|
2. 扫描上传目录
|
|||
|
|
3. 调用API处理所有文档
|
|||
|
|
4. 生成向量并保存
|
|||
|
|
|
|||
|
|
**方式B:使用API**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 处理所有文档
|
|||
|
|
curl -X POST http://localhost:30081/api/knowledge/rebuild
|
|||
|
|
|
|||
|
|
# 或使用Postman/浏览器访问
|
|||
|
|
POST http://localhost:30081/api/knowledge/rebuild
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**方式C:通过Web界面**
|
|||
|
|
|
|||
|
|
1. 登录系统
|
|||
|
|
2. 进入"知识库管理"
|
|||
|
|
3. 点击"重建索引"按钮
|
|||
|
|
|
|||
|
|
### 第4步:检查状态
|
|||
|
|
|
|||
|
|
**方式A:使用脚本**
|
|||
|
|
|
|||
|
|
双击运行:
|
|||
|
|
```
|
|||
|
|
检查知识库状态.bat
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**方式B:使用API**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 查看知识库状态
|
|||
|
|
curl http://localhost:30081/api/knowledge/status
|
|||
|
|
|
|||
|
|
# 返回示例:
|
|||
|
|
{
|
|||
|
|
"ai_service": "connected",
|
|||
|
|
"vector_store": "connected",
|
|||
|
|
"document_count": 156,
|
|||
|
|
"mode": "hybrid",
|
|||
|
|
"ollama_url": "http://localhost:11434",
|
|||
|
|
"openai_url": "https://api.moonshot.cn/v1"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**方式C:查看文件**
|
|||
|
|
|
|||
|
|
检查向量数据文件是否生成:
|
|||
|
|
```
|
|||
|
|
D:\wwwroot\RAG\data\chroma_db\vector_store.json
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果文件存在且大小>0,说明数据已加载。
|
|||
|
|
|
|||
|
|
### 第5步:测试检索
|
|||
|
|
|
|||
|
|
**使用API测试**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 测试知识检索
|
|||
|
|
curl -X POST http://localhost:30081/api/knowledge/retrieve ^
|
|||
|
|
-H "Content-Type: application/json" ^
|
|||
|
|
-d "{\"query\":\"抑郁症的症状有哪些\",\"top_k\":3}"
|
|||
|
|
|
|||
|
|
# 返回示例:
|
|||
|
|
{
|
|||
|
|
"documents": [
|
|||
|
|
"抑郁症的主要症状包括:情绪低落、兴趣减退...",
|
|||
|
|
"轻度抑郁的表现:偶尔情绪低落,但能维持日常生活...",
|
|||
|
|
"中度抑郁需要及时寻求专业心理咨询..."
|
|||
|
|
],
|
|||
|
|
"sources": [...],
|
|||
|
|
"retrieval_time": 0.05
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 第6步:使用AI分析
|
|||
|
|
|
|||
|
|
在系统中使用AI分析功能:
|
|||
|
|
|
|||
|
|
1. 进入"测评报告"页面
|
|||
|
|
2. 选择一个测评报告
|
|||
|
|
3. 点击"AI分析"按钮
|
|||
|
|
4. 系统会:
|
|||
|
|
- 从知识库检索相关内容
|
|||
|
|
- 调用Kimi API生成分析
|
|||
|
|
- 显示分析结果和知识来源
|
|||
|
|
|
|||
|
|
## 🔄 日常维护
|
|||
|
|
|
|||
|
|
### 添加新文档
|
|||
|
|
|
|||
|
|
1. 将新文档放入 `D:\wwwroot\RAG\uploads\`
|
|||
|
|
2. 运行 `处理上传文件.bat`
|
|||
|
|
3. 系统会处理新文档并更新向量库
|
|||
|
|
|
|||
|
|
### 更新文档
|
|||
|
|
|
|||
|
|
1. 替换 `D:\wwwroot\RAG\uploads\` 中的文档
|
|||
|
|
2. 运行 `处理上传文件.bat`
|
|||
|
|
3. 系统会重新处理所有文档
|
|||
|
|
|
|||
|
|
### 删除文档
|
|||
|
|
|
|||
|
|
1. 从 `D:\wwwroot\RAG\uploads\` 删除文档
|
|||
|
|
2. 运行 `处理上传文件.bat`
|
|||
|
|
3. 系统会重建索引(不包含已删除的文档)
|
|||
|
|
|
|||
|
|
### 清空知识库
|
|||
|
|
|
|||
|
|
**方式A:使用API**
|
|||
|
|
```bash
|
|||
|
|
curl -X DELETE http://localhost:30081/api/knowledge/clear
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**方式B:删除文件**
|
|||
|
|
```bash
|
|||
|
|
# 删除向量数据
|
|||
|
|
del D:\wwwroot\RAG\data\chroma_db\vector_store.json
|
|||
|
|
|
|||
|
|
# 删除所有文档
|
|||
|
|
del D:\wwwroot\RAG\uploads\*.*
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📊 监控和优化
|
|||
|
|
|
|||
|
|
### 查看处理日志
|
|||
|
|
|
|||
|
|
应用日志会显示处理进度:
|
|||
|
|
```
|
|||
|
|
[INFO] 开始处理文档: 抑郁症评估标准.txt
|
|||
|
|
[INFO] 文档分块: 5个片段
|
|||
|
|
[INFO] 生成向量: 5/5
|
|||
|
|
[INFO] 保存到向量库: 完成
|
|||
|
|
[INFO] 处理耗时: 2.3秒
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 性能优化
|
|||
|
|
|
|||
|
|
如果处理速度慢:
|
|||
|
|
1. 检查Ollama是否正常运行
|
|||
|
|
2. 减小文档大小或数量
|
|||
|
|
3. 调整分块参数(application.yml)
|
|||
|
|
|
|||
|
|
### 备份数据
|
|||
|
|
|
|||
|
|
定期备份重要文件:
|
|||
|
|
```bash
|
|||
|
|
# 备份向量数据
|
|||
|
|
copy D:\wwwroot\RAG\data\chroma_db\vector_store.json backup\
|
|||
|
|
|
|||
|
|
# 备份文档
|
|||
|
|
xcopy D:\wwwroot\RAG\uploads backup\uploads\ /E /I
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## ❓ 常见问题
|
|||
|
|
|
|||
|
|
### Q: 运行脚本提示"应用未启动"?
|
|||
|
|
A: 先启动Spring Boot应用,确保能访问 http://localhost:30081
|
|||
|
|
|
|||
|
|
### Q: 文档处理失败?
|
|||
|
|
A: 检查:
|
|||
|
|
1. Ollama是否运行(`ollama list`)
|
|||
|
|
2. 文档格式是否支持
|
|||
|
|
3. 文档是否损坏
|
|||
|
|
4. 查看应用日志
|
|||
|
|
|
|||
|
|
### Q: 向量数据文件很大?
|
|||
|
|
A: 正常现象。1000个片段约10-20MB。可以:
|
|||
|
|
1. 删除不需要的文档
|
|||
|
|
2. 调整分块大小
|
|||
|
|
3. 定期清理
|
|||
|
|
|
|||
|
|
### Q: 重启后数据丢失?
|
|||
|
|
A: 不会!数据已持久化到 `vector_store.json`。
|
|||
|
|
如果丢失,检查:
|
|||
|
|
1. 文件是否存在
|
|||
|
|
2. 文件权限是否正确
|
|||
|
|
3. 应用日志是否有错误
|
|||
|
|
|
|||
|
|
### Q: 如何验证数据已加载?
|
|||
|
|
A: 三种方式:
|
|||
|
|
1. 运行 `检查知识库状态.bat`
|
|||
|
|
2. 查看 `vector_store.json` 文件大小
|
|||
|
|
3. 测试知识检索API
|
|||
|
|
|
|||
|
|
## 🎯 最佳实践
|
|||
|
|
|
|||
|
|
1. **文档质量**:上传高质量、结构化的文档
|
|||
|
|
2. **定期更新**:及时更新过时的知识
|
|||
|
|
3. **分类管理**:用子目录组织不同类型的文档
|
|||
|
|
4. **测试验证**:上传后测试检索效果
|
|||
|
|
5. **备份习惯**:定期备份向量数据和文档
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**现在开始使用吧!** 🚀
|
|||
|
|
|
|||
|
|
有问题随时查看日志或运行检查脚本。
|