333 lines
5.9 KiB
Markdown
333 lines
5.9 KiB
Markdown
|
|
# RAG知识库系统 - 部署检查清单
|
|||
|
|
|
|||
|
|
## 📋 部署前检查
|
|||
|
|
|
|||
|
|
### 1. 环境准备
|
|||
|
|
|
|||
|
|
- [ ] Java JDK 8+ 已安装
|
|||
|
|
```bash
|
|||
|
|
java -version
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] Ollama 已安装并运行
|
|||
|
|
```bash
|
|||
|
|
ollama serve
|
|||
|
|
curl http://localhost:11434/api/tags
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] Python 3.8+ 已安装
|
|||
|
|
```bash
|
|||
|
|
python --version
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] ChromaDB 已安装
|
|||
|
|
```bash
|
|||
|
|
pip install chromadb
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 模型准备
|
|||
|
|
|
|||
|
|
- [ ] nomic-embed-text 模型已下载
|
|||
|
|
```bash
|
|||
|
|
ollama pull nomic-embed-text
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] deepseek-r1:32b 模型已下载(或其他生成模型)
|
|||
|
|
```bash
|
|||
|
|
ollama pull deepseek-r1:32b
|
|||
|
|
# 或使用更小的模型
|
|||
|
|
ollama pull qwen2.5:7b
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 验证模型列表
|
|||
|
|
```bash
|
|||
|
|
ollama list
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 目录结构
|
|||
|
|
|
|||
|
|
- [ ] 创建数据目录
|
|||
|
|
```bash
|
|||
|
|
mkdir D:\wwwroot\RAG\data\chroma_db
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 创建上传目录
|
|||
|
|
```bash
|
|||
|
|
mkdir D:\wwwroot\RAG\uploads
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 创建日志目录
|
|||
|
|
```bash
|
|||
|
|
mkdir D:\wwwroot\RAG\logs
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 创建备份目录(可选)
|
|||
|
|
```bash
|
|||
|
|
mkdir D:\wwwroot\RAG\backups
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 配置文件
|
|||
|
|
|
|||
|
|
- [ ] 检查 `application.yml` 配置
|
|||
|
|
- Ollama URL: `http://localhost:11434`
|
|||
|
|
- ChromaDB URL: `http://localhost:8000`
|
|||
|
|
- 文件路径正确
|
|||
|
|
- 模型名称正确
|
|||
|
|
|
|||
|
|
- [ ] 检查数据库配置
|
|||
|
|
- MySQL连接正常
|
|||
|
|
- 数据库表已创建
|
|||
|
|
|
|||
|
|
### 5. 依赖检查
|
|||
|
|
|
|||
|
|
- [ ] Maven依赖已下载
|
|||
|
|
```bash
|
|||
|
|
mvn dependency:resolve
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 编译无错误
|
|||
|
|
```bash
|
|||
|
|
mvn clean compile
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🚀 部署步骤
|
|||
|
|
|
|||
|
|
### 步骤1: 启动ChromaDB
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 在单独的命令行窗口运行
|
|||
|
|
chroma run --path D:\wwwroot\RAG\data\chroma_db --port 8000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] ChromaDB启动成功
|
|||
|
|
- [ ] 端口8000可访问
|
|||
|
|
- [ ] 心跳检查通过
|
|||
|
|
```bash
|
|||
|
|
curl http://localhost:8000/api/v1/heartbeat
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤2: 启动Ollama
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 在单独的命令行窗口运行
|
|||
|
|
ollama serve
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] Ollama启动成功
|
|||
|
|
- [ ] 端口11434可访问
|
|||
|
|
- [ ] API可访问
|
|||
|
|
```bash
|
|||
|
|
curl http://localhost:11434/api/tags
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤3: 编译应用
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
mvn clean package -DskipTests
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 编译成功
|
|||
|
|
- [ ] JAR包已生成: `ry-xinli-admin/target/xinli-admin.jar`
|
|||
|
|
|
|||
|
|
### 步骤4: 启动应用
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
java -jar ry-xinli-admin/target/xinli-admin.jar
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 应用启动成功
|
|||
|
|
- [ ] 端口8080可访问
|
|||
|
|
- [ ] 无启动错误
|
|||
|
|
|
|||
|
|
### 步骤5: 健康检查
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl http://localhost:8080/psychology/rag-test/health
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 返回200状态码
|
|||
|
|
- [ ] `ollama: "OK"`
|
|||
|
|
- [ ] `chromadb: "OK"`
|
|||
|
|
- [ ] `overall_status: "HEALTHY"`
|
|||
|
|
|
|||
|
|
## ✅ 功能验证
|
|||
|
|
|
|||
|
|
### 基础功能测试
|
|||
|
|
|
|||
|
|
- [ ] **向量化测试**
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "http://localhost:8080/psychology/rag-test/test-embedding" \
|
|||
|
|
-d "text=测试文本"
|
|||
|
|
```
|
|||
|
|
预期: 返回768维向量
|
|||
|
|
|
|||
|
|
- [ ] **生成测试**
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "http://localhost:8080/psychology/rag-test/test-generation" \
|
|||
|
|
-d "prompt=什么是心理学?"
|
|||
|
|
```
|
|||
|
|
预期: 返回生成的文本
|
|||
|
|
|
|||
|
|
- [ ] **ChromaDB测试**
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "http://localhost:8080/psychology/rag-test/test-chromadb"
|
|||
|
|
```
|
|||
|
|
预期: 成功存储和查询
|
|||
|
|
|
|||
|
|
### 核心功能测试
|
|||
|
|
|
|||
|
|
- [ ] **文档上传**
|
|||
|
|
- 准备测试文档(PDF/Word/TXT)
|
|||
|
|
- 上传成功
|
|||
|
|
- 返回文档ID
|
|||
|
|
- 向量化完成
|
|||
|
|
|
|||
|
|
- [ ] **文档列表**
|
|||
|
|
- 查询文档列表
|
|||
|
|
- 分页正常
|
|||
|
|
- 显示文档信息
|
|||
|
|
|
|||
|
|
- [ ] **文档搜索**
|
|||
|
|
- 按文件名搜索
|
|||
|
|
- 返回匹配结果
|
|||
|
|
|
|||
|
|
- [ ] **文档删除**
|
|||
|
|
- 删除测试文档
|
|||
|
|
- 向量同步删除
|
|||
|
|
|
|||
|
|
- [ ] **智能问答**
|
|||
|
|
- 提问成功
|
|||
|
|
- 返回答案
|
|||
|
|
- 包含来源引用
|
|||
|
|
|
|||
|
|
- [ ] **报告生成**
|
|||
|
|
- 生成综合报告
|
|||
|
|
- 包含知识库内容
|
|||
|
|
- 包含来源引用
|
|||
|
|
|
|||
|
|
- [ ] **文件监听**
|
|||
|
|
- 放文件到uploads目录
|
|||
|
|
- 自动检测并处理
|
|||
|
|
- 日志记录正常
|
|||
|
|
|
|||
|
|
## 🔍 性能测试
|
|||
|
|
|
|||
|
|
### 响应时间
|
|||
|
|
|
|||
|
|
- [ ] 向量化: < 200ms
|
|||
|
|
- [ ] 语义检索: < 100ms
|
|||
|
|
- [ ] 报告生成: < 30秒
|
|||
|
|
- [ ] 文档上传: < 5秒/MB
|
|||
|
|
|
|||
|
|
### 并发测试
|
|||
|
|
|
|||
|
|
- [ ] 5个并发用户正常
|
|||
|
|
- [ ] 10个并发用户正常
|
|||
|
|
- [ ] 无内存泄漏
|
|||
|
|
- [ ] 无连接池耗尽
|
|||
|
|
|
|||
|
|
### 大文件测试
|
|||
|
|
|
|||
|
|
- [ ] 10MB PDF上传成功
|
|||
|
|
- [ ] 30MB PDF上传成功
|
|||
|
|
- [ ] 50MB PDF上传成功(上限)
|
|||
|
|
|
|||
|
|
## 📊 监控检查
|
|||
|
|
|
|||
|
|
### 日志
|
|||
|
|
|
|||
|
|
- [ ] 应用日志正常写入
|
|||
|
|
```bash
|
|||
|
|
tail -f D:\wwwroot\RAG\logs\xinli-admin.log
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 无ERROR级别日志(除预期错误)
|
|||
|
|
- [ ] 日志格式正确
|
|||
|
|
- [ ] 日志轮转配置正确
|
|||
|
|
|
|||
|
|
### 系统状态
|
|||
|
|
|
|||
|
|
- [ ] CPU使用率正常(< 80%)
|
|||
|
|
- [ ] 内存使用率正常(< 80%)
|
|||
|
|
- [ ] 磁盘空间充足(> 10GB)
|
|||
|
|
- [ ] 网络连接正常
|
|||
|
|
|
|||
|
|
### 数据库
|
|||
|
|
|
|||
|
|
- [ ] MySQL连接正常
|
|||
|
|
- [ ] 表结构正确
|
|||
|
|
- [ ] 数据写入正常
|
|||
|
|
- [ ] 查询性能正常
|
|||
|
|
|
|||
|
|
## 🔒 安全检查
|
|||
|
|
|
|||
|
|
- [ ] 文件上传大小限制生效(50MB)
|
|||
|
|
- [ ] 文件格式白名单生效
|
|||
|
|
- [ ] API权限控制正常
|
|||
|
|
- [ ] 敏感信息已脱敏
|
|||
|
|
- [ ] HTTPS配置(生产环境)
|
|||
|
|
|
|||
|
|
## 📚 文档检查
|
|||
|
|
|
|||
|
|
- [ ] README.md 完整
|
|||
|
|
- [ ] 快速启动指南完整
|
|||
|
|
- [ ] API文档完整
|
|||
|
|
- [ ] 故障排除指南完整
|
|||
|
|
- [ ] 用户手册完整
|
|||
|
|
|
|||
|
|
## 🎯 生产环境额外检查
|
|||
|
|
|
|||
|
|
### 高可用
|
|||
|
|
|
|||
|
|
- [ ] 数据库主从复制配置
|
|||
|
|
- [ ] 应用多实例部署
|
|||
|
|
- [ ] 负载均衡配置
|
|||
|
|
- [ ] 故障转移测试
|
|||
|
|
|
|||
|
|
### 备份
|
|||
|
|
|
|||
|
|
- [ ] 数据库自动备份
|
|||
|
|
- [ ] ChromaDB数据备份
|
|||
|
|
- [ ] 上传文件备份
|
|||
|
|
- [ ] 备份恢复测试
|
|||
|
|
|
|||
|
|
### 监控告警
|
|||
|
|
|
|||
|
|
- [ ] 服务监控配置
|
|||
|
|
- [ ] 告警规则配置
|
|||
|
|
- [ ] 告警通知测试
|
|||
|
|
- [ ] 日志聚合配置
|
|||
|
|
|
|||
|
|
## ✨ 最终确认
|
|||
|
|
|
|||
|
|
- [ ] 所有测试通过
|
|||
|
|
- [ ] 性能满足要求
|
|||
|
|
- [ ] 文档齐全
|
|||
|
|
- [ ] 用户培训完成
|
|||
|
|
- [ ] 技术支持就绪
|
|||
|
|
|
|||
|
|
## 📝 部署记录
|
|||
|
|
|
|||
|
|
**部署日期**: _______________
|
|||
|
|
|
|||
|
|
**部署人员**: _______________
|
|||
|
|
|
|||
|
|
**环境信息**:
|
|||
|
|
- Java版本: _______________
|
|||
|
|
- Ollama版本: _______________
|
|||
|
|
- ChromaDB版本: _______________
|
|||
|
|
- 应用版本: _______________
|
|||
|
|
|
|||
|
|
**测试结果**:
|
|||
|
|
- 基础功能: □ 通过 □ 失败
|
|||
|
|
- 核心功能: □ 通过 □ 失败
|
|||
|
|
- 性能测试: □ 通过 □ 失败
|
|||
|
|
- 安全检查: □ 通过 □ 失败
|
|||
|
|
|
|||
|
|
**备注**:
|
|||
|
|
_______________________________________________
|
|||
|
|
_______________________________________________
|
|||
|
|
_______________________________________________
|
|||
|
|
|
|||
|
|
**签字**: _______________
|