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

第三步:生产模式

  1. 编辑配置文件:

    vim config/offline_config.py
    # 修改: DEFAULT_LOOKBACK_DAYS = 730
    # 修改: DEFAULT_RECENT_DAYS = 180
    
  2. 运行:

    python3 run_all.py
    

📝 新增文档

  1. UPDATE_CONFIG_GUIDE.md - 配置调整详细指南
  2. .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

✨ 主要优势

  1. 集中管理 - 所有默认参数在一处配置
  2. 调试友好 - 默认使用小数据量,快速验证
  3. 灵活切换 - 调试/生产环境一键切换
  4. 参数透明 - help信息显示默认值来源
  5. 版本控制 - .gitignore防止数据文件被提交

📌 注意事项

  1. 首次运行建议使用小数据量

    python3 run_all.py --lookback_days 7
    
  2. 配置文件修改后立即生效

    # 修改 offline_config.py 后
    python3 run_all.py  # 自动使用新配置
    
  3. 临时参数不影响配置文件

    python3 run_all.py --lookback_days 100  # 仅本次有效
    

📅 更新日志

日期: 2025-10-16
版本: v1.2
改动:

  • ✅ 新增默认参数配置(DEFAULT_LOOKBACK_DAYS=30)
  • ✅ 更新所有6个脚本使用配置文件
  • ✅ 创建 .gitignore 忽略数据和临时文件
  • ✅ 新增配置调整指南文档

配置文件: config/offline_config.py
当前默认: 30天调试模式
生产建议: 730天
状态: ✅ 已完成并测试