Files
aitsc/优化历史功能部署指南.md

317 lines
6.9 KiB
Markdown
Raw Permalink Normal View History

2025-10-10 23:39:54 +08:00
# 📚 优化历史功能部署指南
## 🎯 功能概述
优化历史功能为用户提供了完整的提示词生成历史管理功能,包括:
- 📝 **历史记录管理**: 查看、编辑、删除历史记录
- 🔍 **智能搜索**: 关键词搜索和多种筛选条件
-**收藏功能**: 重要提示词收藏管理
- 📊 **统计分析**: 使用统计和趋势分析
- 📤 **数据导出**: 支持JSON和CSV格式导出
- 🏷️ **标签系统**: 自定义标签管理
## 🚀 部署步骤
### 1. 数据库准备
#### 1.1 执行SQL脚本
```bash
# 连接到MySQL数据库
mysql -u root -p
# 选择数据库
USE pro_db;
# 执行创建表脚本
SOURCE /home/renjianbo/aitsc/create_history_tables.sql;
```
#### 1.2 验证表创建
```sql
-- 检查表是否创建成功
SHOW TABLES LIKE '%history%';
SHOW TABLES LIKE '%statistics%';
-- 查看表结构
DESCRIBE prompt_history;
DESCRIBE history_tags;
DESCRIBE user_statistics;
```
### 2. 代码部署
#### 2.1 文件结构
```
src/flask_prompt_master/
├── models/
│ └── history_models.py # 历史记录数据模型
├── routes/
│ └── history_routes.py # 历史记录API接口
├── templates/
│ └── history.html # 历史记录前端页面
└── __init__.py # 应用初始化(已更新)
```
#### 2.2 重启应用
```bash
# 停止现有服务
pkill -f gunicorn
# 启动新服务
cd /home/renjianbo/aitsc
gunicorn -c gunicorn.conf.py src.flask_prompt_master:app
```
### 3. 功能验证
#### 3.1 运行测试脚本
```bash
# 运行测试脚本
python test_history_feature.py
```
#### 3.2 手动验证
1. **访问历史页面**: `http://localhost:5002/history`
2. **生成提示词**: 在首页生成一些提示词
3. **查看历史**: 在历史页面查看生成的记录
4. **测试功能**: 搜索、筛选、收藏、导出等
## 📋 功能使用说明
### 1. 历史记录管理
#### 1.1 查看历史记录
- 访问 `/history` 页面
- 查看所有生成的历史记录
- 支持分页浏览
#### 1.2 搜索和筛选
- **关键词搜索**: 在搜索框输入关键词
- **模板筛选**: 选择特定模板
- **时间筛选**: 按时间范围筛选
- **收藏筛选**: 只显示收藏的记录
- **排序方式**: 按时间、评分、生成时间排序
#### 1.3 记录操作
- **查看详情**: 点击眼睛图标查看完整内容
- **复制提示词**: 点击复制图标复制到剪贴板
- **收藏/取消收藏**: 点击心形图标
- **删除记录**: 点击垃圾桶图标删除
### 2. 统计分析
#### 2.1 统计面板
- **总生成数**: 历史生成总数
- **收藏数**: 收藏的提示词数量
- **平均评分**: 用户满意度统计
#### 2.2 数据导出
- **JSON格式**: 结构化数据导出
- **CSV格式**: 表格数据导出
- **筛选导出**: 按条件导出特定数据
### 3. 标签管理
#### 3.1 添加标签
- 在记录详情页面添加标签
- 支持自定义标签
- 标签分类管理
#### 3.2 标签筛选
- 按标签筛选记录
- 标签统计和趋势
## 🔧 配置说明
### 1. 数据库配置
#### 1.1 连接配置
```python
# 在 config.py 中配置数据库连接
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost:3306/pro_db?charset=utf8mb4'
```
#### 1.2 索引优化
```sql
-- 为常用查询字段添加索引
CREATE INDEX idx_user_created_at ON prompt_history(user_id, created_at);
CREATE INDEX idx_favorite_rating ON prompt_history(is_favorite, satisfaction_rating);
```
### 2. 应用配置
#### 2.1 分页配置
```python
# 历史记录分页大小
HISTORY_PAGE_SIZE = 20
HISTORY_MAX_EXPORT = 1000
```
#### 2.2 缓存配置
```python
# 统计数据缓存
CACHE_STATISTICS_TTL = 300 # 5分钟
```
## 🚨 故障排除
### 1. 常见问题
#### 1.1 数据库连接失败
```bash
# 检查数据库服务
systemctl status mysql
# 检查数据库连接
mysql -u root -p -e "SELECT 1"
```
#### 1.2 表不存在错误
```sql
-- 检查表是否存在
SHOW TABLES LIKE '%history%';
-- 重新执行创建脚本
SOURCE /home/renjianbo/aitsc/create_history_tables.sql;
```
#### 1.3 权限问题
```sql
-- 检查用户权限
SHOW GRANTS FOR 'root'@'localhost';
-- 授权数据库权限
GRANT ALL PRIVILEGES ON pro_db.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
```
### 2. 性能优化
#### 2.1 数据库优化
```sql
-- 分析查询性能
EXPLAIN SELECT * FROM prompt_history WHERE user_id = 1 ORDER BY created_at DESC;
-- 优化慢查询
CREATE INDEX idx_user_created_at ON prompt_history(user_id, created_at);
```
#### 2.2 应用优化
```python
# 启用查询缓存
SQLALCHEMY_ENGINE_OPTIONS = {
'pool_pre_ping': True,
'pool_recycle': 300,
'pool_size': 10,
'max_overflow': 20
}
```
## 📊 监控和维护
### 1. 数据监控
#### 1.1 数据量监控
```sql
-- 查看历史记录数量
SELECT COUNT(*) FROM prompt_history;
-- 查看用户统计
SELECT user_id, total_generations, favorite_count, avg_rating
FROM user_statistics;
```
#### 1.2 性能监控
```sql
-- 查看慢查询
SHOW PROCESSLIST;
-- 分析表使用情况
SHOW TABLE STATUS LIKE 'prompt_history';
```
### 2. 数据清理
#### 2.1 清理旧数据
```sql
-- 删除30天前的数据
DELETE FROM prompt_history
WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY);
-- 更新统计信息
CALL CleanOldHistory(30);
```
#### 2.2 数据备份
```bash
# 备份历史数据
mysqldump -u root -p pro_db prompt_history history_tags user_statistics > history_backup.sql
```
## 🔄 更新和维护
### 1. 功能更新
#### 1.1 添加新功能
1. 修改数据模型
2. 更新API接口
3. 修改前端页面
4. 执行数据库迁移
#### 1.2 版本管理
```bash
# 创建版本标签
git tag -a v1.1.0 -m "添加优化历史功能"
git push origin v1.1.0
```
### 2. 定期维护
#### 2.1 数据清理
```bash
# 创建清理脚本
cat > cleanup_history.sh << 'EOF'
#!/bin/bash
mysql -u root -p pro_db -e "CALL CleanOldHistory(90);"
EOF
chmod +x cleanup_history.sh
# 添加到定时任务
crontab -e
# 添加: 0 2 * * 0 /path/to/cleanup_history.sh
```
#### 2.2 性能监控
```bash
# 创建监控脚本
cat > monitor_history.sh << 'EOF'
#!/bin/bash
echo "历史记录统计:"
mysql -u root -p pro_db -e "
SELECT
COUNT(*) as total_records,
COUNT(DISTINCT user_id) as unique_users,
AVG(satisfaction_rating) as avg_rating
FROM prompt_history;
"
EOF
```
## 🎉 总结
优化历史功能已经成功集成到现有系统中,提供了完整的用户历史记录管理功能。通过这个功能,用户可以:
1. **回顾历史**: 查看所有生成过的提示词
2. **智能搜索**: 快速找到需要的历史记录
3. **数据管理**: 收藏、评分、删除记录
4. **统计分析**: 了解使用情况和趋势
5. **数据导出**: 备份和分享历史数据
这个功能大大提升了用户体验,让用户能够更好地管理和利用自己的提示词生成历史。
---
*部署完成时间2025年1月*
*功能版本v1.0*
*维护人员:系统管理员*