Akanezora0/DataCraft

Python

0

21 commits

updated Nov 15, 2025

See the code

README

🚀 DataCraft

智能数据准备系统 - 从原始数据到高质量训练数据的全自动化处理

Python License Status

让数据处理更智能,让AI训练更高效


📖 项目简介

DataCraft 是一个基于大语言模型(LLM)的智能数据准备系统,能够自动分析原始数据和种子数据的差异,智能编排数据处理流程,并生成高质量的训练数据。系统采用"智能理解 + 动态编排 + 迭代生成"的设计理念,实现了从原始数据到高质量训练数据的全自动化处理。

✨ 核心特性

  • 🧠 智能理解: 自动分析原始数据和种子数据的结构、格式、质量差异,生成处理蓝图
  • 🎯 动态编排: 三阶段智能编排机制(自由拟合→模板组合→约束搜索),自动设计最优处理流程
  • 🔄 迭代生成: 基于中间结果的逐步算子代码生成,确保每一步都基于实际数据状态
  • 🤖 LLM增强: 支持LLM API调用的智能算子,实现高质量的内容生成和增强
  • 🧩 函数式设计: "搭积木"式的算子组合方式,简洁灵活,易于扩展

🏗️ 系统架构

┌─────────────────────────────────────────────────────────────┐
│                      DataCraft 系统架构                        │
└─────────────────────────────────────────────────────────────┘

输入数据 (Raw Data + Seed Data)
    ↓
┌─────────────────────────────────────────────────────────────┐
│  阶段 1: 结构化理解 (Structured Understanding)                │
│  • 文件格式分析                                               │
│  • 质量差异分析                                               │
│  • 字段映射识别                                               │
│  • 处理目标定义                                               │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│  阶段 2: Pipeline编排 (Pipeline Orchestration)                │
│  • 自由拟合: LLM生成高层处理意图                               │
│  • 模板组合: 基于算子模板组合pipeline                          │
│  • 约束搜索: 优化和完善pipeline逻辑                           │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│  阶段 3: 算子生成 (Operator Generation)                      │
│  • 迭代生成可执行的算子代码                                    │
│  • 基于中间结果指导下一步生成                                  │
│  • 自动代码验证和错误处理                                      │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│  阶段 4: Pipeline执行 (Pipeline Execution)                    │
│  • 执行生成的pipeline代码                                      │
│  • 处理完整的原始数据                                          │
│  • 生成高质量训练数据                                          │
└─────────────────────────────────────────────────────────────┘
    ↓
最终处理数据 (Final Processed Data)

📁 目录结构

DataCraft/
├── core/                           # 核心服务层
│   ├── config_manager.py           # 配置管理
│   ├── llm_service.py              # LLM服务封装
│   ├── logger.py                   # 统一日志服务
│   ├── path_manager.py             # 路径管理
│   └── token_counter.py            # Token计数
├── subsystems/                     # 子系统层
│   ├── structured_understanding/   # 结构化理解子系统
│   ├── pipeline_orchestration/      # Pipeline编排子系统
│   ├── operator_generation/        # 算子生成子系统
│   ├── operator_management/        # 算子管理子系统
│   ├── language_management/         # 语言管理子系统
│   └── system_check/               # 系统检查子系统
├── data/                           # 数据层
│   ├── operator_registry.json      # 算子注册表
│   ├── pipeline_templates.json     # Pipeline模板
│   ├── operator_packs/             # 算子包
│   ├── generated_pipelines/        # 生成的pipeline代码
│   ├── understanding_results/       # 结构化理解结果
│   ├── orchestration_results/       # 编排结果
│   └── run_pipeline_results/       # 执行结果
├── datasets/                       # 数据集目录
│   ├── alpaca/                     # Alpaca数据集
│   ├── squad/                      # SQuAD数据集
│   ├── math/                       # MATH数据集
│   └── ...                         # 其他数据集
├── config/                         # 配置文件
│   ├── config.json                 # 主配置
│   └── api_keys.json               # API密钥
├── docs/                           # 文档目录
├── assets/                         # 展示材料(图表、Logo等)
└── main.py                         # 主入口文件

🚀 快速开始

环境要求

  • Python 3.8+
  • 依赖包见 requirements.txt

安装步骤

  1. 克隆项目

    git clone https://github.com/yourusername/datacraft.git
    cd datacraft
    
  2. 安装依赖

    pip install -r requirements.txt
    
  3. 配置API密钥

    cp config/api_keys_example.json config/api_keys.json
    # 编辑 config/api_keys.json 填入你的API密钥
    
  4. 运行示例

    python main.py quick-start
    

💻 基本使用

命令行接口

# 完整流程(推荐)
python main.py run-full <pipeline_id>

# 分阶段执行
python main.py understand <pipeline_id>          # 结构化理解
python main.py orchestrate <pipeline_id>         # Pipeline编排
python main.py generate-operators <pipeline_id>  # 算子生成
python main.py run-pipelines <pipeline_id>       # 运行Pipeline

# 管理命令
python main.py list                    # 列出所有pipeline
python main.py status <pipeline_id>    # 查看状态
python main.py token-stats             # Token统计

核心API使用

from main import DataCraft

# 初始化
datacraft = DataCraft()

# 运行完整流程
result = datacraft.run_full_pipeline("alpaca")
print(f"处理结果: {result['status']}")

# 查看最终数据
final_data_path = "data/run_pipeline_results/alpaca/final_processed_data.jsonl"

📊 工作流程

DataCraft 系统包含4个主要阶段,每个阶段都会生成中间结果并保存:

输入数据 (Raw Data + Seed Data)
    ↓
[1] 结构化理解 (Understand)
    ↓ 保存: data/understanding_results/{pipeline_id}.json
[2] Pipeline编排 (Orchestrate)
    ↓ 保存: data/orchestration_results/{pipeline_id}.json
[3] 算子生成 (Generate Operators)
    ↓ 保存: data/generated_pipelines/{pipeline_id}.json
    ↓ 保存: data/generated_pipelines/{pipeline_id}/ (算子代码目录)
[4] Pipeline执行 (Run Pipelines)
    ↓ 保存: data/run_pipeline_results/{pipeline_id}/ (执行结果)
    ↓
最终处理数据 (Final Processed Data)

结果文件位置

阶段结果文件路径说明
结构化理解data/understanding_results/{pipeline_id}.json结构化理解结果
Pipeline编排data/orchestration_results/{pipeline_id}.json编排结果
算子生成data/generated_pipelines/{pipeline_id}.json生成结果元数据
算子代码data/generated_pipelines/{pipeline_id}/算子代码目录
最终数据data/run_pipeline_results/{pipeline_id}/final_processed_data.jsonl最终处理数据

🎯 核心功能

1. 结构化理解

自动分析原始数据和种子数据,生成处理蓝图:

  • 文件格式分析: 自动检测JSON/JSONL格式
  • 质量差异分析: 识别seed data和raw data的质量差异
  • 字段映射识别: 自动识别字段对应关系
  • 处理目标定义: 明确数据增强的目标和方向

2. Pipeline编排

三阶段智能编排机制:

  • 自由拟合: LLM生成高层处理意图,不受模板限制
  • 模板组合: 基于算子模板组合pipeline,确保可行性
  • 约束搜索: 优化和完善pipeline逻辑,提升质量

3. 算子生成

迭代生成可执行的算子代码:

  • 逐步生成: 从第一个算子开始,逐步生成后续算子
  • 中间结果指导: 每步基于实际运行结果指导下一步
  • 自动验证: 自动验证代码可执行性和正确性

4. LLM增强支持

支持LLM API调用的智能算子:

  • gen.text_generator: 智能文本生成
  • qa.question_answer_generator: 智能问答生成
  • gen.dialogue_generator: 智能对话生成
  • eval.quality_evaluator: 智能质量评估

📈 实验结果

数据集支持

DataCraft 已在多个数据集上验证,包括:

  • Alpaca: 指令跟随数据集
  • SQuAD: 问答数据集
  • MATH: 数学推理数据集
  • GSM8K: 数学问题求解数据集
  • ARC-Easy: 通用推理数据集

性能表现

数据集原始数据量种子数据量处理时间质量提升
Alpaca5,000+6~2分钟内容详细度提升300%+
SQuAD100+10~3分钟格式一致性100%
MATH100+5~5分钟推理质量显著提升

注:处理时间取决于数据量和LLM API响应速度

🔧 配置说明

主配置文件 (config/config.json)

{
  "llm": {
    "provider": "custom",
    "model": "gpt-3.5-turbo",
    "temperature": 0.7,
    "max_tokens": 1000,
    "timeout": 30
  },
  "pipeline": {
    "max_steps": 10,
    "timeout": 300,
    "parallel_execution": false
  },
  "logging": {
    "level": "INFO",
    "file": "logs/datacraft.log"
  }
}

API密钥配置 (config/api_keys.json)

{
  "custom": {
    "api_key": "your-api-key",
    "base_url": "https://your-api-endpoint.com/v1"
  }
}

📚 文档资源

核心文档

子系统文档

数据集文档

🔍 使用示例

示例1: 处理Alpaca数据集

# 1. 准备数据
# 将原始数据放在 datasets/alpaca/raw_data/alpaca_raw.jsonl
# 将种子数据放在 datasets/alpaca/seed_data/alpaca_seed.jsonl

# 2. 运行完整流程
python main.py run-full alpaca

# 3. 查看结果
cat data/run_pipeline_results/alpaca/final_processed_data.jsonl | head -5

示例2: 分阶段执行

# 只执行结构化理解
python main.py understand squad

# 查看理解结果
cat data/understanding_results/squad.json | python -m json.tool

# 继续执行编排
python main.py orchestrate squad

# 继续执行生成
python main.py generate-operators squad

# 最后执行pipeline
python main.py run-pipelines squad

🎓 技术亮点

1. 创新的迭代生成机制

传统方式: 一次性生成完整pipeline代码
DataCraft方式: 迭代生成,每步基于中间结果指导下一步

优势:

  • ✅ 更准确的代码生成
  • ✅ 更好的错误处理
  • ✅ 更灵活的参数调整

2. LLM增强的智能算子

传统方式: 固定规则的算子实现
DataCraft方式: LLM驱动的智能算子

优势:

  • ✅ 更智能的内容处理
  • ✅ 更灵活的任务适应
  • ✅ 更高质量的结果输出

3. 函数式"搭积木"设计

传统方式: 类式的复杂算子实现
DataCraft方式: 函数式的简洁算子组合

优势:

  • ✅ 更简洁的代码结构
  • ✅ 更灵活的组合方式
  • ✅ 更易于测试和维护

4. 三阶段智能编排

传统方式: 固定pipeline模板
DataCraft方式: LLM驱动的动态编排

优势:

  • ✅ 更智能的pipeline设计
  • ✅ 更好的任务适应性
  • ✅ 更优的处理效果

Akanezora0/DataCraft

Python

0

21 commits

updated Nov 15, 2025

See the code

README

🚀 DataCraft

智能数据准备系统 - 从原始数据到高质量训练数据的全自动化处理

Python License Status

让数据处理更智能,让AI训练更高效


📖 项目简介

DataCraft 是一个基于大语言模型(LLM)的智能数据准备系统,能够自动分析原始数据和种子数据的差异,智能编排数据处理流程,并生成高质量的训练数据。系统采用"智能理解 + 动态编排 + 迭代生成"的设计理念,实现了从原始数据到高质量训练数据的全自动化处理。

✨ 核心特性

  • 🧠 智能理解: 自动分析原始数据和种子数据的结构、格式、质量差异,生成处理蓝图
  • 🎯 动态编排: 三阶段智能编排机制(自由拟合→模板组合→约束搜索),自动设计最优处理流程
  • 🔄 迭代生成: 基于中间结果的逐步算子代码生成,确保每一步都基于实际数据状态
  • 🤖 LLM增强: 支持LLM API调用的智能算子,实现高质量的内容生成和增强
  • 🧩 函数式设计: "搭积木"式的算子组合方式,简洁灵活,易于扩展

🏗️ 系统架构

┌─────────────────────────────────────────────────────────────┐
│                      DataCraft 系统架构                        │
└─────────────────────────────────────────────────────────────┘

输入数据 (Raw Data + Seed Data)
    ↓
┌─────────────────────────────────────────────────────────────┐
│  阶段 1: 结构化理解 (Structured Understanding)                │
│  • 文件格式分析                                               │
│  • 质量差异分析                                               │
│  • 字段映射识别                                               │
│  • 处理目标定义                                               │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│  阶段 2: Pipeline编排 (Pipeline Orchestration)                │
│  • 自由拟合: LLM生成高层处理意图                               │
│  • 模板组合: 基于算子模板组合pipeline                          │
│  • 约束搜索: 优化和完善pipeline逻辑                           │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│  阶段 3: 算子生成 (Operator Generation)                      │
│  • 迭代生成可执行的算子代码                                    │
│  • 基于中间结果指导下一步生成                                  │
│  • 自动代码验证和错误处理                                      │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│  阶段 4: Pipeline执行 (Pipeline Execution)                    │
│  • 执行生成的pipeline代码                                      │
│  • 处理完整的原始数据                                          │
│  • 生成高质量训练数据                                          │
└─────────────────────────────────────────────────────────────┘
    ↓
最终处理数据 (Final Processed Data)

📁 目录结构

DataCraft/
├── core/                           # 核心服务层
│   ├── config_manager.py           # 配置管理
│   ├── llm_service.py              # LLM服务封装
│   ├── logger.py                   # 统一日志服务
│   ├── path_manager.py             # 路径管理
│   └── token_counter.py            # Token计数
├── subsystems/                     # 子系统层
│   ├── structured_understanding/   # 结构化理解子系统
│   ├── pipeline_orchestration/      # Pipeline编排子系统
│   ├── operator_generation/        # 算子生成子系统
│   ├── operator_management/        # 算子管理子系统
│   ├── language_management/         # 语言管理子系统
│   └── system_check/               # 系统检查子系统
├── data/                           # 数据层
│   ├── operator_registry.json      # 算子注册表
│   ├── pipeline_templates.json     # Pipeline模板
│   ├── operator_packs/             # 算子包
│   ├── generated_pipelines/        # 生成的pipeline代码
│   ├── understanding_results/       # 结构化理解结果
│   ├── orchestration_results/       # 编排结果
│   └── run_pipeline_results/       # 执行结果
├── datasets/                       # 数据集目录
│   ├── alpaca/                     # Alpaca数据集
│   ├── squad/                      # SQuAD数据集
│   ├── math/                       # MATH数据集
│   └── ...                         # 其他数据集
├── config/                         # 配置文件
│   ├── config.json                 # 主配置
│   └── api_keys.json               # API密钥
├── docs/                           # 文档目录
├── assets/                         # 展示材料(图表、Logo等)
└── main.py                         # 主入口文件

🚀 快速开始

环境要求

  • Python 3.8+
  • 依赖包见 requirements.txt

安装步骤

  1. 克隆项目

    git clone https://github.com/yourusername/datacraft.git
    cd datacraft
    
  2. 安装依赖

    pip install -r requirements.txt
    
  3. 配置API密钥

    cp config/api_keys_example.json config/api_keys.json
    # 编辑 config/api_keys.json 填入你的API密钥
    
  4. 运行示例

    python main.py quick-start
    

💻 基本使用

命令行接口

# 完整流程(推荐)
python main.py run-full <pipeline_id>

# 分阶段执行
python main.py understand <pipeline_id>          # 结构化理解
python main.py orchestrate <pipeline_id>         # Pipeline编排
python main.py generate-operators <pipeline_id>  # 算子生成
python main.py run-pipelines <pipeline_id>       # 运行Pipeline

# 管理命令
python main.py list                    # 列出所有pipeline
python main.py status <pipeline_id>    # 查看状态
python main.py token-stats             # Token统计

核心API使用

from main import DataCraft

# 初始化
datacraft = DataCraft()

# 运行完整流程
result = datacraft.run_full_pipeline("alpaca")
print(f"处理结果: {result['status']}")

# 查看最终数据
final_data_path = "data/run_pipeline_results/alpaca/final_processed_data.jsonl"

📊 工作流程

DataCraft 系统包含4个主要阶段,每个阶段都会生成中间结果并保存:

输入数据 (Raw Data + Seed Data)
    ↓
[1] 结构化理解 (Understand)
    ↓ 保存: data/understanding_results/{pipeline_id}.json
[2] Pipeline编排 (Orchestrate)
    ↓ 保存: data/orchestration_results/{pipeline_id}.json
[3] 算子生成 (Generate Operators)
    ↓ 保存: data/generated_pipelines/{pipeline_id}.json
    ↓ 保存: data/generated_pipelines/{pipeline_id}/ (算子代码目录)
[4] Pipeline执行 (Run Pipelines)
    ↓ 保存: data/run_pipeline_results/{pipeline_id}/ (执行结果)
    ↓
最终处理数据 (Final Processed Data)

结果文件位置

阶段结果文件路径说明
结构化理解data/understanding_results/{pipeline_id}.json结构化理解结果
Pipeline编排data/orchestration_results/{pipeline_id}.json编排结果
算子生成data/generated_pipelines/{pipeline_id}.json生成结果元数据
算子代码data/generated_pipelines/{pipeline_id}/算子代码目录
最终数据data/run_pipeline_results/{pipeline_id}/final_processed_data.jsonl最终处理数据

🎯 核心功能

1. 结构化理解

自动分析原始数据和种子数据,生成处理蓝图:

  • 文件格式分析: 自动检测JSON/JSONL格式
  • 质量差异分析: 识别seed data和raw data的质量差异
  • 字段映射识别: 自动识别字段对应关系
  • 处理目标定义: 明确数据增强的目标和方向

2. Pipeline编排

三阶段智能编排机制:

  • 自由拟合: LLM生成高层处理意图,不受模板限制
  • 模板组合: 基于算子模板组合pipeline,确保可行性
  • 约束搜索: 优化和完善pipeline逻辑,提升质量

3. 算子生成

迭代生成可执行的算子代码:

  • 逐步生成: 从第一个算子开始,逐步生成后续算子
  • 中间结果指导: 每步基于实际运行结果指导下一步
  • 自动验证: 自动验证代码可执行性和正确性

4. LLM增强支持

支持LLM API调用的智能算子:

  • gen.text_generator: 智能文本生成
  • qa.question_answer_generator: 智能问答生成
  • gen.dialogue_generator: 智能对话生成
  • eval.quality_evaluator: 智能质量评估

📈 实验结果

数据集支持

DataCraft 已在多个数据集上验证,包括:

  • Alpaca: 指令跟随数据集
  • SQuAD: 问答数据集
  • MATH: 数学推理数据集
  • GSM8K: 数学问题求解数据集
  • ARC-Easy: 通用推理数据集

性能表现

数据集原始数据量种子数据量处理时间质量提升
Alpaca5,000+6~2分钟内容详细度提升300%+
SQuAD100+10~3分钟格式一致性100%
MATH100+5~5分钟推理质量显著提升

注:处理时间取决于数据量和LLM API响应速度

🔧 配置说明

主配置文件 (config/config.json)

{
  "llm": {
    "provider": "custom",
    "model": "gpt-3.5-turbo",
    "temperature": 0.7,
    "max_tokens": 1000,
    "timeout": 30
  },
  "pipeline": {
    "max_steps": 10,
    "timeout": 300,
    "parallel_execution": false
  },
  "logging": {
    "level": "INFO",
    "file": "logs/datacraft.log"
  }
}

API密钥配置 (config/api_keys.json)

{
  "custom": {
    "api_key": "your-api-key",
    "base_url": "https://your-api-endpoint.com/v1"
  }
}

📚 文档资源

核心文档

子系统文档

数据集文档

🔍 使用示例

示例1: 处理Alpaca数据集

# 1. 准备数据
# 将原始数据放在 datasets/alpaca/raw_data/alpaca_raw.jsonl
# 将种子数据放在 datasets/alpaca/seed_data/alpaca_seed.jsonl

# 2. 运行完整流程
python main.py run-full alpaca

# 3. 查看结果
cat data/run_pipeline_results/alpaca/final_processed_data.jsonl | head -5

示例2: 分阶段执行

# 只执行结构化理解
python main.py understand squad

# 查看理解结果
cat data/understanding_results/squad.json | python -m json.tool

# 继续执行编排
python main.py orchestrate squad

# 继续执行生成
python main.py generate-operators squad

# 最后执行pipeline
python main.py run-pipelines squad

🎓 技术亮点

1. 创新的迭代生成机制

传统方式: 一次性生成完整pipeline代码
DataCraft方式: 迭代生成,每步基于中间结果指导下一步

优势:

  • ✅ 更准确的代码生成
  • ✅ 更好的错误处理
  • ✅ 更灵活的参数调整

2. LLM增强的智能算子

传统方式: 固定规则的算子实现
DataCraft方式: LLM驱动的智能算子

优势:

  • ✅ 更智能的内容处理
  • ✅ 更灵活的任务适应
  • ✅ 更高质量的结果输出

3. 函数式"搭积木"设计

传统方式: 类式的复杂算子实现
DataCraft方式: 函数式的简洁算子组合

优势:

  • ✅ 更简洁的代码结构
  • ✅ 更灵活的组合方式
  • ✅ 更易于测试和维护

4. 三阶段智能编排

传统方式: 固定pipeline模板
DataCraft方式: LLM驱动的动态编排

优势:

  • ✅ 更智能的pipeline设计
  • ✅ 更好的任务适应性
  • ✅ 更优的处理效果