xinli/README-RAG-SYSTEM.md
2025-12-19 14:03:43 +08:00

370 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🎯 RAG知识库系统 - 完整使用指南
## 📖 目录
1. [系统简介](#系统简介)
2. [快速开始](#快速开始)
3. [配置说明](#配置说明)
4. [API文档](#api文档)
5. [常见问题](#常见问题)
---
## 系统简介
基于RAG检索增强生成技术的心理评估知识库系统支持
-**文档管理**: 上传、解析、向量化心理学文档
-**智能问答**: 基于知识库回答专业问题
-**报告生成**: 生成AI增强的心理评估报告
-**自动监听**: 自动处理上传目录的新文档
### 🎉 两种部署方式
| 方式 | 优势 | 适用场景 |
|------|------|---------|
| **免费云服务** ⭐ | 无需部署、速度快、成本低 | 开发测试、小规模生产 |
| **本地部署** | 数据私密、无网络依赖 | 大规模生产、高安全要求 |
---
## 快速开始
### 方式1: 使用免费云服务 (推荐) ⭐
**耗时**: 约7分钟
#### 步骤1: 获取API Key (2分钟)
1. 访问 https://cloud.siliconflow.cn
2. 注册账号(微信/手机号)
3. 进入控制台 → API密钥
4. 创建新密钥
5. 复制密钥(格式: `sk-xxxxxx`
#### 步骤2: 配置 (1分钟)
编辑 `ry-xinli-admin/src/main/resources/application.yml`:
```yaml
rag:
mode: openai # 使用云服务
openai:
base-url: https://api.siliconflow.cn/v1
api-key: sk-你的密钥 # ⚠️ 替换这里
embed-model: BAAI/bge-large-zh-v1.5
generate-model: deepseek-ai/DeepSeek-V3
```
#### 步骤3: 启动 (2分钟)
```bash
cd ry-xinli-admin
mvn spring-boot:run
```
#### 步骤4: 测试 (1分钟)
访问: http://localhost:8080/psychology/rag-test/health
看到 `"overall_status": "HEALTHY"` 即成功!
**详细指南**: 查看 `QUICK-START-FREE-API.md`
---
### 方式2: 本地部署
**耗时**: 约30分钟首次需下载模型
#### 步骤1: 安装Ollama
```bash
# Windows: 下载安装包
https://ollama.ai/download
# 启动Ollama
ollama serve
```
#### 步骤2: 下载模型
```bash
# 嵌入模型 (约1GB)
ollama pull nomic-embed-text
# 生成模型 (约20GB)
ollama pull deepseek-r1:32b
```
#### 步骤3: 安装ChromaDB
```bash
pip install chromadb
chroma run --path D:\wwwroot\RAG\data\chroma_db --port 8000
```
#### 步骤4: 配置
```yaml
rag:
mode: ollama # 使用本地服务
ollama:
url: http://localhost:11434
embed-model: nomic-embed-text
generate-model: deepseek-r1:32b
```
#### 步骤5: 启动
```bash
cd ry-xinli-admin
mvn spring-boot:run
```
**详细指南**: 查看 `RAG-QUICK-START.md`
---
## 配置说明
### 完整配置示例
```yaml
rag:
# 模式选择: openai(云服务) 或 ollama(本地)
mode: openai
# OpenAI兼容API配置
openai:
base-url: https://api.siliconflow.cn/v1
api-key: sk-your-key
embed-model: BAAI/bge-large-zh-v1.5
generate-model: deepseek-ai/DeepSeek-V3
# Ollama本地配置
ollama:
url: http://localhost:11434
embed-model: nomic-embed-text
generate-model: deepseek-r1:32b
# ChromaDB配置
chromadb:
url: http://localhost:8000
collection: psychology_knowledge
# 存储配置
storage:
upload-path: D:/wwwroot/RAG/uploads
log-path: D:/wwwroot/RAG/logs
# 文件监听
file-watcher:
enabled: false # 是否自动处理新文件
watch-path: D:/wwwroot/RAG/uploads
# 检索配置
retrieval:
top-k: 5 # 检索数量
similarity-threshold: 0.7 # 相似度阈值
# 文本分块
text-splitter:
chunk-size: 800 # 分块大小
chunk-overlap: 200 # 重叠大小
```
### 推荐配置
#### 开发环境
```yaml
rag:
mode: openai
openai:
api-key: sk-your-key
generate-model: Qwen/Qwen2.5-7B-Instruct # 更快
retrieval:
top-k: 3 # 减少检索
```
#### 生产环境
```yaml
rag:
mode: openai
openai:
api-key: sk-your-key
generate-model: deepseek-ai/DeepSeek-V3 # 更强
retrieval:
top-k: 5
similarity-threshold: 0.7
```
---
## API文档
### 知识库管理
#### 上传文档
```http
POST /psychology/knowledge/upload
Content-Type: multipart/form-data
file: 文件对象
category: 分类(可选)
```
#### 获取文档列表
```http
GET /psychology/knowledge/list?pageNum=1&pageSize=10
```
#### 删除文档
```http
DELETE /psychology/knowledge/{id}
```
### AI分析
#### 生成报告
```http
POST /psychology/ai/generate-report
Content-Type: application/json
{
"assessmentData": {
"questionnaire_name": "MMPI",
"scores": {"抑郁": 65, "焦虑": 70}
},
"userProfile": {
"user_id": "123",
"name": "张三",
"age": 30
}
}
```
#### 智能问答
```http
POST /psychology/ai/chat
Content-Type: application/json
{
"question": "什么是MMPI量表",
"context": ""
}
```
#### 系统状态
```http
GET /psychology/ai/system/status
```
**完整API文档**: 查看 `RAG-API-EXAMPLES.md`
---
## 常见问题
### Q1: 如何选择部署方式?
**推荐使用免费云服务**,除非:
- 需要处理敏感数据(选本地)
- 没有网络连接(选本地)
- 需要大规模并发(选本地)
### Q2: 免费服务够用吗?
对于开发测试和小规模使用完全够用:
- 硅基流动: 每月免费额度
- DeepSeek: 充值10元可用很久
- 成本: 约0.001元/次查询
### Q3: 如何切换服务?
只需修改配置:
```yaml
# 从云服务切换到本地
rag:
mode: ollama # 改为ollama
# 从本地切换到云服务
rag:
mode: openai # 改为openai
```
### Q4: 支持哪些文档格式?
- ✅ PDF
- ✅ Word (.docx, .doc)
- ✅ TXT
### Q5: 如何提高生成质量?
1. **上传更多相关文档**
2. **使用更强的模型**: DeepSeek-V3
3. **调整检索参数**: 增加top-k
4. **优化提示词**: 修改PromptBuilder
### Q6: 遇到错误怎么办?
1. 查看日志: `D:\wwwroot\RAG\logs\`
2. 检查健康状态: `/psychology/rag-test/health`
3. 查看错误代码对照表(见下方)
### 错误代码对照
| 错误 | 原因 | 解决方案 |
|------|------|---------|
| 401 | API Key无效 | 检查API Key是否正确 |
| 429 | 请求过多 | 等待或充值 |
| 500 | 服务器错误 | 查看日志 |
| 503 | 服务不可用 | 检查服务是否启动 |
---
## 📚 相关文档
- **快速开始**: `QUICK-START-FREE-API.md`
- **免费服务指南**: `RAG-FREE-SERVICES-GUIDE.md`
- **API示例**: `RAG-API-EXAMPLES.md`
- **部署检查清单**: `RAG-DEPLOYMENT-CHECKLIST.md`
- **本地部署指南**: `RAG-QUICK-START.md`
---
## 🎯 下一步
1. ✅ 完成快速开始
2. 📤 上传心理学文档
3. 💬 测试智能问答
4. 📊 生成评估报告
5. 🎨 开发前端页面
---
## 📞 技术支持
遇到问题?
1. 查看文档目录中的相关指南
2. 检查系统日志
3. 访问服务商文档:
- 硅基流动: https://docs.siliconflow.cn
- DeepSeek: https://platform.deepseek.com/docs
---
**版本**: 1.0.0
**更新时间**: 2025-12-19
**作者**: ddnai