5.2 KiB
5.2 KiB
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
脚本会自动:
- 检查应用状态
- 扫描上传目录
- 调用API处理所有文档
- 生成向量并保存
方式B:使用API
# 处理所有文档
curl -X POST http://localhost:30081/api/knowledge/rebuild
# 或使用Postman/浏览器访问
POST http://localhost:30081/api/knowledge/rebuild
方式C:通过Web界面
- 登录系统
- 进入"知识库管理"
- 点击"重建索引"按钮
第4步:检查状态
方式A:使用脚本
双击运行:
检查知识库状态.bat
方式B:使用API
# 查看知识库状态
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测试
# 测试知识检索
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分析功能:
- 进入"测评报告"页面
- 选择一个测评报告
- 点击"AI分析"按钮
- 系统会:
- 从知识库检索相关内容
- 调用Kimi API生成分析
- 显示分析结果和知识来源
🔄 日常维护
添加新文档
- 将新文档放入
D:\wwwroot\RAG\uploads\ - 运行
处理上传文件.bat - 系统会处理新文档并更新向量库
更新文档
- 替换
D:\wwwroot\RAG\uploads\中的文档 - 运行
处理上传文件.bat - 系统会重新处理所有文档
删除文档
- 从
D:\wwwroot\RAG\uploads\删除文档 - 运行
处理上传文件.bat - 系统会重建索引(不包含已删除的文档)
清空知识库
方式A:使用API
curl -X DELETE http://localhost:30081/api/knowledge/clear
方式B:删除文件
# 删除向量数据
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秒
性能优化
如果处理速度慢:
- 检查Ollama是否正常运行
- 减小文档大小或数量
- 调整分块参数(application.yml)
备份数据
定期备份重要文件:
# 备份向量数据
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: 检查:
- Ollama是否运行(
ollama list) - 文档格式是否支持
- 文档是否损坏
- 查看应用日志
Q: 向量数据文件很大?
A: 正常现象。1000个片段约10-20MB。可以:
- 删除不需要的文档
- 调整分块大小
- 定期清理
Q: 重启后数据丢失?
A: 不会!数据已持久化到 vector_store.json。
如果丢失,检查:
- 文件是否存在
- 文件权限是否正确
- 应用日志是否有错误
Q: 如何验证数据已加载?
A: 三种方式:
- 运行
检查知识库状态.bat - 查看
vector_store.json文件大小 - 测试知识检索API
🎯 最佳实践
- 文档质量:上传高质量、结构化的文档
- 定期更新:及时更新过时的知识
- 分类管理:用子目录组织不同类型的文档
- 测试验证:上传后测试检索效果
- 备份习惯:定期备份向量数据和文档
现在开始使用吧! 🚀
有问题随时查看日志或运行检查脚本。