# data-dev-skills **Repository Path**: cleverpig/data-dev-skills ## Basic Information - **Project Name**: data-dev-skills - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-11 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据生产与标注流水线 Skills 将 NLP 训练数据的生成、预标注、人工复核、反馈改进整套流程拆分为 4 个原子 Skill,通过 `AGENTS.md` 编排串联,形成持续迭代的数据闭环。 --- ## Skills 清单 | # | Skill | 阶段 | 说明 | Persona | |---|-------|------|------|---------| | 0 | [data-requirement](data-requirement/SKILL.md) | 需求澄清 | 意图澄清、标签体系设计、`task_config.yaml` 生成 | 资深 NLP 数据需求分析师 | | 1 | [data-generation](data-generation/SKILL.md) | 数据生成 | 基于配置调用 LLM 批量生成训练数据 | 资深数据工程师 | | 2 | [data-labeling](data-labeling/SKILL.md) | 预标注与导出 | LLM 预标注 + Label Studio 格式导出 | 资深标注工程师 | | 3 | [data-feedback](data-feedback/SKILL.md) | 反馈修正 | 分析人工标注反馈,生成改进数据和报告 | 资深数据分析师 | **编排指令**:[AGENTS.md](AGENTS.md)(L0/L1/L2 分层 + 路由表 + 流转条件 + 人工介入点) **角色矩阵**:[ROLE-SKILL-MATRIX.md](ROLE-SKILL-MATRIX.md)(5 个角色 × 4 个 Skills 的协作关系) ### Python 环境 ```bash # 需要 Python ≥ 3.10,推荐使用 uv 管理 python --version # 确认版本 # 安装依赖(data-generation 和 data-labeling 共用) pip install openai pyyaml # 或使用 uv uv pip install openai pyyaml # data-feedback 无外部依赖 ``` ### LLM API 配置 脚本使用 dashscope API(OpenAI 兼容),需设置环境变量: ```bash export DASHSCOPE_API_KEY="your-api-key" # 可选:自定义 API 地址(默认为 dashscope 官方地址) # export DASHSCOPE_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1" ``` > 不设置 API Key 也可以使用 `--dry-run` 模式进行功能测试。 ### Label Studio(可选,用于人工标注) ```bash pip install label-studio label-studio start --port 8080 # 首次启动需注册账号 ``` --- ## 快速开始(Dry-run 模式) 无需 API Key,用 mock 数据走通完整流程: ```bash cd skills-by-liuquan # 1. 生成 mock 数据(20 条,4 个类别) python data-generation/scripts/generate.py \ --config data-generation/examples/input_config.yaml \ --n 20 --dry-run # 2. 预标注 + 导出 Label Studio 格式 python data-labeling/scripts/label_and_export.py \ --input projects/ecommerce_intent/output/generated_data.jsonl \ --labels "greeting,refund,logistics,consult" --dry-run # 3. 反馈分析(使用示例 LS 导出数据) python data-feedback/scripts/analyze_feedback.py \ --input data-feedback/examples/input_ls_export.json \ --labels "greeting,refund,logistics,consult" ``` --- ## 按场景替换使用 所有 Skills 和脚本都是**场景无关**的。默认示例使用「电商客服意图分类」场景,需要替换为你的场景时,只需修改以下内容: ### 第 1 步:创建任务配置 复制 `data-generation/templates/task_config.yaml`,修改标注 🔄 的字段: ```yaml # 🔄 替换为你的任务信息 name: "your_task_name" description: "你的任务描述" output_dir: "projects/your_task/output" # 🔄 替换为你的标签体系(标签名: 详细描述) categories: label_a: "标签A的详细描述——越详细生成质量越高" label_b: "标签B的详细描述" label_c: "标签C的详细描述" # 🔄 根据需要调整 generation: total: 200 temperature: 0.8 batch_size: 10 ``` ### 第 2 步:更新 Label Studio 标注界面 编辑 `data-labeling/templates/labeling_config.xml`,替换 `` 标签: ```xml ``` ### 第 3 步:运行 ```bash # 生成(使用真实 LLM) python data-generation/scripts/generate.py \ --config your_config.yaml --n 200 # 预标注 + 导出 python data-labeling/scripts/label_and_export.py \ --input projects/your_task/output/generated_data.jsonl \ --labels "label_a,label_b,label_c" # 导入 Label Studio → 人工标注 → 导出 JSON # 反馈分析 python data-feedback/scripts/analyze_feedback.py \ --input ls_export.json --labels "label_a,label_b,label_c" # 下一轮(使用反馈数据) python data-generation/scripts/generate.py \ --config your_config.yaml --n 200 \ --feedback feedback_output/feedback.json ``` ### 场景替换速查表 | 要替换的内容 | 文件位置 | 标记 | |-------------|---------|------| | 任务名称和描述 | `task_config.yaml` | 🔄 | | 标签体系(名称+描述) | `task_config.yaml` | 🔄 | | 生成数量和参数 | `task_config.yaml` | 🔄 | | LS 标注界面标签 | `labeling_config.xml` | 🔄 | | 脚本命令中的 `--labels` | 命令行参数 | — | > **不需要修改**:脚本代码(`generate.py`、`label_and_export.py`、`analyze_feedback.py`)完全场景无关,无需修改任何代码。 --- ## 目录结构 ``` skills-by-liuquan/ ├── README.md # 本文件 ├── AGENTS.md # 编排指令(L0/L1/L2) ├── data-requirement/ # Skill 0: 需求澄清 │ ├── SKILL.md │ ├── templates/ │ │ ├── requirement_checklist.md │ │ └── task_config.yaml │ └── examples/ │ └── requirement_example.md ├── data-generation/ # Skill 1: 数据生成 │ ├── SKILL.md │ ├── templates/ │ │ └── task_config.yaml │ ├── scripts/ │ │ ├── generate.py │ │ └── requirements.txt │ └── examples/ │ ├── input_config.yaml │ ├── output_samples.jsonl │ └── output_with_feedback.jsonl ├── data-labeling/ # Skill 2: 预标注 + LS 导出 │ ├── SKILL.md │ ├── templates/ │ │ ├── labeling_config.xml │ │ └── ls_import_schema.json │ ├── scripts/ │ │ ├── label_and_export.py │ │ └── requirements.txt │ └── examples/ │ └── output_ls_tasks.json └── data-feedback/ # Skill 3: 反馈修正 ├── SKILL.md ├── templates/ │ └── feedback_report.md ├── scripts/ │ ├── analyze_feedback.py │ └── requirements.txt └── examples/ └── input_ls_export.json ```