317 lines
6.9 KiB
Markdown
317 lines
6.9 KiB
Markdown
|
|
# 📚 优化历史功能部署指南
|
|||
|
|
|
|||
|
|
## 🎯 功能概述
|
|||
|
|
|
|||
|
|
优化历史功能为用户提供了完整的提示词生成历史管理功能,包括:
|
|||
|
|
- 📝 **历史记录管理**: 查看、编辑、删除历史记录
|
|||
|
|
- 🔍 **智能搜索**: 关键词搜索和多种筛选条件
|
|||
|
|
- ⭐ **收藏功能**: 重要提示词收藏管理
|
|||
|
|
- 📊 **统计分析**: 使用统计和趋势分析
|
|||
|
|
- 📤 **数据导出**: 支持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*
|
|||
|
|
*维护人员:系统管理员*
|