CONFIG_CHANGES_SUMMARY.md
4.75 KB
配置优化总结
✅ 完成的改动
1. 配置集中化
文件: offline_tasks/config/offline_config.py
新增默认参数配置:
# 默认参数配置(用于调试和生产)
DEFAULT_LOOKBACK_DAYS = 30 # 默认回看天数(当前为30天,便于快速调试)
DEFAULT_RECENT_DAYS = 7 # 默认最近天数
DEFAULT_I2I_TOP_N = 50 # 默认返回Top N个相似商品
DEFAULT_INTEREST_TOP_N = 1000 # 默认每个key返回Top N个商品
好处:
- ✅ 集中管理所有默认参数
- ✅ 调试环境使用小数值(30天),快速验证
- ✅ 生产环境只需修改配置文件一处
- ✅ 所有脚本自动使用统一配置
2. 脚本更新
更新了所有脚本使用配置文件的默认值:
| 脚本 | 更新内容 |
|---|---|
i2i_swing.py |
使用 DEFAULT_LOOKBACK_DAYS, DEFAULT_I2I_TOP_N |
i2i_session_w2v.py |
使用 DEFAULT_LOOKBACK_DAYS, DEFAULT_I2I_TOP_N |
i2i_deepwalk.py |
使用 DEFAULT_LOOKBACK_DAYS, DEFAULT_I2I_TOP_N |
i2i_content_similar.py |
使用 DEFAULT_I2I_TOP_N |
interest_aggregation.py |
使用 DEFAULT_LOOKBACK_DAYS, DEFAULT_RECENT_DAYS, DEFAULT_INTEREST_TOP_N |
run_all.py |
使用所有默认配置 |
3. .gitignore 文件
文件: /home/tw/recommendation/.gitignore
忽略以下内容:
# 数据文件
*.txt (除了 requirements.txt, COMMANDS.txt)
*.csv
*.json
*.jsonl
*.parquet
*.pkl
# 输出和临时文件
output/
logs/
models/
cache/
tmp/
# Python 相关
__pycache__/
*.pyc
*.egg-info/
venv/
# IDE 相关
.vscode/
.idea/
.DS_Store
📊 使用对比
之前(硬编码)
# 每次都要手动指定参数
python3 run_all.py --lookback_days 30 --top_n 50
# 不同脚本的默认值不统一,容易混淆
现在(配置化)
# 使用配置文件的默认值(当前30天,调试快速)
python3 run_all.py
# 临时覆盖(不修改配置文件)
python3 run_all.py --lookback_days 7
# 查看当前默认值
python3 run_all.py --help
# 输出: --lookback_days (default: 30, adjust in offline_config.py)
🎯 调试与生产切换
当前配置(调试模式)
# config/offline_config.py
DEFAULT_LOOKBACK_DAYS = 30 # 30天,快速验证
DEFAULT_RECENT_DAYS = 7 # 7天
运行效果:
- 数据量小,运行快(30-60分钟)
- 内存占用低(2-4GB)
- 适合验证流程和参数调优
切换到生产(编辑配置文件)
# config/offline_config.py
DEFAULT_LOOKBACK_DAYS = 730 # 2年,更准确
DEFAULT_RECENT_DAYS = 180 # 半年
运行效果:
- 数据量大,推荐质量高
- 运行时间长(6-10小时)
- 内存占用高(8-16GB)
- 适合生产环境
🚀 快速开始
第一步:快速验证(7天数据)
cd /home/tw/recommendation/offline_tasks
python3 run_all.py --lookback_days 7 --top_n 10
第二步:调试模式(使用默认30天)
# 当前配置文件已设置为30天
python3 run_all.py
第三步:生产模式
编辑配置文件:
vim config/offline_config.py # 修改: DEFAULT_LOOKBACK_DAYS = 730 # 修改: DEFAULT_RECENT_DAYS = 180运行:
python3 run_all.py
📝 新增文档
- UPDATE_CONFIG_GUIDE.md - 配置调整详细指南
- .gitignore - Git忽略规则
🔍 验证配置
# 查看当前配置
cd /home/tw/recommendation/offline_tasks
python3 -c "from config.offline_config import *; print(f'LOOKBACK_DAYS: {DEFAULT_LOOKBACK_DAYS}')"
# 查看帮助
python3 run_all.py --help
python3 scripts/i2i_swing.py --help
python3 scripts/interest_aggregation.py --help
✨ 主要优势
- 集中管理 - 所有默认参数在一处配置
- 调试友好 - 默认使用小数据量,快速验证
- 灵活切换 - 调试/生产环境一键切换
- 参数透明 - help信息显示默认值来源
- 版本控制 - .gitignore防止数据文件被提交
📌 注意事项
首次运行建议使用小数据量:
python3 run_all.py --lookback_days 7配置文件修改后立即生效:
# 修改 offline_config.py 后 python3 run_all.py # 自动使用新配置临时参数不影响配置文件:
python3 run_all.py --lookback_days 100 # 仅本次有效
📅 更新日志
日期: 2025-10-16
版本: v1.2
改动:
- ✅ 新增默认参数配置(DEFAULT_LOOKBACK_DAYS=30)
- ✅ 更新所有6个脚本使用配置文件
- ✅ 创建 .gitignore 忽略数据和临时文件
- ✅ 新增配置调整指南文档
配置文件: config/offline_config.py
当前默认: 30天调试模式
生产建议: 730天
状态: ✅ 已完成并测试