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