xinli/Archive/RAG知识库-完整配置总结.md
2026-01-30 16:23:31 +08:00

7.3 KiB
Raw Blame History

RAG知识库系统 - 完整配置总结

已完成的配置

1. 系统架构

混合模式Hybrid Mode

  • 📥 文档嵌入本地Ollama (nomic-embed-text)
  • 🤖 AI生成远程Kimi API (moonshot-v1-32k)
  • 💾 向量存储SimpleVectorStore文件持久化

2. 配置文件

application.yml

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

  • 统计卡片(文档数、片段数、服务状态)
  • 文档上传(拖拽上传、分类选择)
  • 文档列表(分页、查看、删除)
  • 重建索引
  • 清空知识库

🚀 使用流程

方式1Web界面上传推荐

  1. 登录系统
  2. 进入"知识库管理"页面
  3. 点击"上传文档"
  4. 选择分类和文件
  5. 点击确定
  6. 系统自动处理
    上传 → 保存 → 解析 → 分块 → 向量化 → 存储 → 完成
    

方式2批量处理

  1. 将文档放入 D:\wwwroot\RAG\uploads\
  2. 运行 处理上传文件.bat
  3. 或在Web界面点击"重建索引"

方式3API调用

# 上传文档
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

适用场景

  • 心理测评标准文档
  • 心理学理论知识
  • 案例分析文档
  • 干预建议文档

🔧 维护操作

检查状态

使用脚本

检查知识库状态.bat

使用API

curl http://localhost:30081/api/knowledge/statistics

查看文件

D:\wwwroot\RAG\data\chroma_db\vector_store.json

备份数据

# 备份向量数据
copy D:\wwwroot\RAG\data\chroma_db\vector_store.json backup\

# 备份文档
xcopy D:\wwwroot\RAG\uploads backup\uploads\ /E /I

清空知识库

Web界面:点击"清空知识库"按钮

API调用

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额度

⚙️ 配置参数

文本分块

text-splitter:
  chunk-size: 800        # 分块大小(字符)
  chunk-overlap: 200     # 重叠大小(字符)

检索参数

retrieval:
  top-k: 5                      # 返回前5个最相关片段
  similarity-threshold: 0.7     # 相似度阈值

存储路径

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. 检查Ollamaollama list
  2. 检查文件格式和大小
  3. 查看应用日志

问题2AI分析没有使用知识库

可能原因

  • 知识库为空
  • 文档内容不相关
  • 相似度阈值过高

解决方法

  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