# Debug模式使用说明 ## 概述 所有推荐任务脚本都支持 `--debug` 参数,开启后会在 `output/debug/` 目录下生成可读的明文索引文件,方便查看推荐效果。 ## 支持Debug模式的任务 | 任务名称 | 脚本文件 | 输出文件 | 可读文件位置 | |---------|---------|---------|-------------| | Swing算法 | `i2i_swing.py` | `i2i_swing_YYYYMMDD.txt` | `output/debug/i2i_swing_YYYYMMDD_readable.txt` | | Session W2V | `i2i_session_w2v.py` | `i2i_session_w2v_YYYYMMDD.txt` | `output/debug/i2i_session_w2v_YYYYMMDD_readable.txt` | | DeepWalk | `i2i_deepwalk.py` | `i2i_deepwalk_YYYYMMDD.txt` | `output/debug/i2i_deepwalk_YYYYMMDD_readable.txt` | | 内容相似度(名称) | `i2i_content_similar.py` | `i2i_content_name_YYYYMMDD.txt` | `output/debug/i2i_content_name_YYYYMMDD_readable.txt` | | 内容相似度(图片) | `i2i_content_similar.py` | `i2i_content_pic_YYYYMMDD.txt` | `output/debug/i2i_content_pic_YYYYMMDD_readable.txt` | | Item行为相似度 | `i2i_item_behavior.py` | `i2i_item_behavior_YYYYMMDD.txt` | `output/debug/i2i_item_behavior_YYYYMMDD_readable.txt` | | Tag分类相似度 | `tag_category_similar.py` | `tag_category_similar_YYYYMMDD.txt` | `output/debug/tag_category_similar_YYYYMMDD_readable.txt` | | 兴趣聚合 | `interest_aggregation.py` | `interest_*_YYYYMMDD.txt` | `output/debug/interest_*_YYYYMMDD_readable.txt` | ## 使用方法 ### 方法1: 通过run.sh全局开启 在 `run.sh` 中设置: ```bash DEBUG_MODE="--debug" # 开启debug模式 # 或 DEBUG_MODE="" # 关闭debug模式 ``` 然后运行: ```bash bash run.sh ``` ### 方法2: 单独运行某个任务 #### 示例1: 运行Session W2V (已支持debug模式) ```bash python3 scripts/i2i_session_w2v.py --lookback_days 400 --top_n 50 --debug ``` #### 示例2: 运行DeepWalk (已支持debug模式) ```bash python3 scripts/i2i_deepwalk.py --lookback_days 400 --top_n 50 --debug ``` #### 示例3: 运行内容相似度 (新增debug模式) ```bash python3 scripts/i2i_content_similar.py --top_n 50 --debug ``` #### 示例4: 运行Item行为相似度 (新增debug模式) ```bash python3 scripts/i2i_item_behavior.py --lookback_days 180 --top_n 50 --debug ``` #### 示例5: 运行兴趣聚合 (已支持debug模式) ```bash python3 scripts/interest_aggregation.py --lookback_days 400 --top_n 1000 --debug ``` ## 可读文件格式 可读文件格式示例: ``` ================================================================================ 明文索引文件 生成时间: 2025-10-22 14:30:25 描述: i2i:session_w2v 总索引数: 50990 ================================================================================ [1] i2i:session_w2v:12345 (商品名称) -------------------------------------------------------------------------------- 1. ID:23456(相似商品1名称) - Score:0.8520 2. ID:34567(相似商品2名称) - Score:0.7845 3. ID:45678(相似商品3名称) - Score:0.7321 ... ``` ## 性能影响 - **不开启debug模式**: 只生成标准索引文件,速度最快 - **开启debug模式**: 会额外查询数据库获取商品名称,生成可读文件,任务时间会增加约10-20% ## 注意事项 1. **磁盘空间**: 可读文件通常比标准索引文件大2-3倍,请确保有足够的磁盘空间 2. **数据库负载**: debug模式会额外查询商品名称,在高并发场景下建议关闭 3. **文件位置**: 所有可读文件都保存在 `output/debug/` 目录 4. **定期清理**: 建议定期清理旧的debug文件,避免占用过多磁盘空间 ## 快速检查命令 查看最新生成的可读文件: ```bash # 列出所有可读文件 ls -lh output/debug/*_readable.txt # 查看某个可读文件的前50行 head -50 output/debug/i2i_session_w2v_20251022_readable.txt # 统计可读文件数量 ls output/debug/*_readable.txt | wc -l ``` ## 故障排查 如果没有生成可读文件,检查: 1. 是否传递了 `--debug` 参数 2. `output/debug/` 目录是否存在且有写权限 3. 查看日志文件确认是否有错误信息 4. 检查数据库连接是否正常(需要查询商品名称)