xinli/快速开始-知识库.md
2025-12-19 14:03:43 +08:00

5.2 KiB
Raw Blame History

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

# 处理所有文档
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

# 查看知识库状态
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分析功能

  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

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秒

性能优化

如果处理速度慢:

  1. 检查Ollama是否正常运行
  2. 减小文档大小或数量
  3. 调整分块参数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: 检查:

  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. 备份习惯:定期备份向量数据和文档

现在开始使用吧! 🚀

有问题随时查看日志或运行检查脚本。