Name Last Update
..
output_logs Loading commit data...
PIPELINE.md Loading commit data...
README.md Loading commit data...
feedback_es.md Loading commit data...
feedback_es.py Loading commit data...
graphRAG-服装领域提取字段.md Loading commit data...
graphRAG.md Loading commit data...
process_products.py Loading commit data...

README.md

商品品类分析脚本

功能说明

这个脚本用于批量分析商品标题,提取商品的品类、适用人群、标签、场景、季节和材质/功能等信息。

主要特性

  1. 批量处理:每次处理20条数据,提高效率
  2. 完整日志:记录所有API请求、响应和解析结果
  3. 断点续传:每处理完一个批次自动保存,支持中断后继续
  4. ID映射:使用序号1-20,最后映射回原始ID
  5. Markdown解析:高效解析LLM返回的markdown表格

输出字段

字段 说明 示例
id 原始商品ID 107365
title 原始英文标题 Sunglasses Men Polarized...
title_cn 中文标题 男士偏光飞行员太阳镜
category_path 品类路径(大类>细分) 配件>眼镜>太阳镜
tags 细分标签 偏光,金属框,复古
target_audience 适用人群 男女通用,成人
usage_scene 使用场景 驾驶,钓鱼,户外
season 适用季节 四季
key_attributes 关键属性 UV400防护,防眩光
material 材质说明 金属框架,树脂镜片
features 功能特点 偏光防眩,轻量化设计
selling_points 商品卖点 专业偏光镜片,有效过滤眩光,适合驾驶和户外运动

安装依赖

pip install requests

使用方法

1. 设置API密钥

export DASHSCOPE_API_KEY="your_api_key_here"

2. 测试运行(处理前40条)

# 创建测试数据
python test_process.py

# 运行测试脚本
python process_products_test.py

3. 正式运行(处理全部数据)

python process_products.py

文件结构

.
├── saas_170_products.csv          # 输入文件(原始数据)
├── process_products.py            # 主处理脚本
├── test_process.py                # 测试准备脚本
├── output_logs/                   # 输出目录
│   ├── products_analyzed.csv     # 最终结果(CSV格式)
│   └── logs/                      # 日志目录
│       ├── process_*.log          # 主日志文件
│       └── batch_*.json           # 每个批次的详细日志
│           ├── input_products     # 输入数据
│           ├── raw_response       # 原始响应
│           ├── full_response_json # 完整API响应JSON
│           ├── parsed_results     # 解析后的markdown表格
│           └── final_results      # 最终格式化结果

日志说明

每个批次的JSON日志包含:

  1. input_products: 输入的商品列表(使用临时序号1-20)
  2. raw_response: LLM返回的原始markdown文本
  3. full_response_json: 完整的API响应(包括usage、model等)
  4. parsed_results: 从markdown解析出的结构化数据
  5. final_results: 映射回原始ID后的最终结果

配置参数

可以在脚本开头修改以下参数:

BATCH_SIZE = 20              # 每批处理数量
MODEL_NAME = "qwen-turbo"    # 模型名称
INPUT_FILE = "saas_170_products.csv"  # 输入文件
OUTPUT_FILE = "output_logs/products_analyzed.csv"  # 输出文件

注意事项

  1. 确保 DASHSCOPE_API_KEY 环境变量已设置
  2. 处理4万条数据约需2000次API调用,请确保API配额充足
  3. 每个批次会自动保存,可随时中断和恢复
  4. 日志文件可能较大,请确保磁盘空间充足

预计时间

  • 每批次约10-15秒
  • 总批次约2270批(45389条 ÷ 20)
  • 预计总时间:6-9小时

结果格式示例

id,title,title_cn,category_path,tags,target_audience,usage_scene,season,key_attributes,material,features,selling_points
107365,"Sunglasses Men Polarized...","男士偏光飞行员太阳镜","配件>眼镜>太阳镜","偏光,金属框,复古","男女通用,成人","驾驶,钓鱼,户外","四季","UV400防护,防眩光","金属框架,树脂镜片","偏光防眩,轻量化","专业偏光镜片,有效过滤眩光,适合驾驶和户外运动"
107366,"Nintendo Switch™...","任天堂Switch游戏机","电子产品>游戏机>掌机","家用,便携,双人","通用,青少年","家庭娱乐,聚会,旅行","四季","无线连接,HD震动","电子元件,塑料","便携设计,多人游戏","任天堂官方正品,支持多种游戏模式,适合家庭娱乐"

故障排查

API密钥错误

Error: DASHSCOPE_API_KEY environment variable not set!

解决:设置环境变量 export DASHSCOPE_API_KEY="your_key"

API请求失败

检查日志文件中的详细错误信息,可能原因:

  • API配额不足
  • 网络连接问题
  • 代理设置问题(脚本已自动禁用代理)
  • 请求格式错误

脚本已内置重试机制(最多重试3次,间隔5秒),可以自动处理临时网络问题。

解析失败

查看 batch_*.json 日志中的 raw_response 字段,检查LLM返回格式是否符合预期

代理连接错误

如果遇到代理连接错误:

  1. 脚本已自动设置 NO_PROXY=* 环境变量
  2. 脚本已在请求中明确禁用代理
  3. 如果仍有问题,手动取消系统代理设置: bash unset http_proxy unset https_proxy unset HTTP_PROXY unset HTTPS_PROXY